0000950170-23-060722.txt : 20231108 0000950170-23-060722.hdr.sgml : 20231108 20231108091537 ACCESSION NUMBER: 0000950170-23-060722 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 92 CONFORMED PERIOD OF REPORT: 20230930 FILED AS OF DATE: 20231108 DATE AS OF CHANGE: 20231108 FILER: COMPANY DATA: COMPANY CONFORMED NAME: FTC Solar, Inc. CENTRAL INDEX KEY: 0001828161 STANDARD INDUSTRIAL CLASSIFICATION: SEMICONDUCTORS & RELATED DEVICES [3674] IRS NUMBER: 814816270 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-40350 FILM NUMBER: 231386272 BUSINESS ADDRESS: STREET 1: 9020 N CAPITAL OF TEXAS HWY, SUITE I-260 CITY: AUSTIN STATE: TX ZIP: 78759 BUSINESS PHONE: (907) 312-0717 MAIL ADDRESS: STREET 1: 9020 N CAPITAL OF TEXAS HWY, SUITE I-260 CITY: AUSTIN STATE: TX ZIP: 78759 10-Q 1 ftci-20230930.htm 10-Q 10-Q
--12-31Q3false000182816121http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrenthttp://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent0001828161us-gaap:ProductMember2023-07-012023-09-300001828161us-gaap:PreferredStockMember2023-06-300001828161us-gaap:ToolsDiesAndMoldsMember2023-09-300001828161srt:MinimumMember2023-01-012023-09-300001828161srt:MaximumMember2023-01-012023-09-300001828161srt:MaximumMemberus-gaap:DevelopedTechnologyRightsMember2023-09-3000018281612021-01-012021-12-310001828161us-gaap:RetainedEarningsMember2023-03-310001828161us-gaap:DevelopedTechnologyRightsMember2023-09-300001828161us-gaap:PreferredStockMember2021-12-310001828161us-gaap:PreferredStockMember2022-12-310001828161ftci:AtmProgramMember2022-09-140001828161us-gaap:CommonStockMember2023-03-310001828161us-gaap:ProductMember2023-01-012023-09-300001828161us-gaap:ServiceMember2023-07-012023-09-300001828161us-gaap:CommonStockMember2022-07-012022-09-300001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-09-300001828161ftci:TreasuryStock1Member2021-12-310001828161us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-09-300001828161us-gaap:AdditionalPaidInCapitalMember2022-01-012022-03-310001828161us-gaap:RestrictedStockMember2023-07-012023-09-300001828161ftci:AlphaSteelMember2023-07-012023-09-300001828161us-gaap:RetainedEarningsMember2023-07-012023-09-300001828161us-gaap:RevolvingCreditFacilityMember2023-09-300001828161us-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-300001828161us-gaap:CostOfSalesMember2022-07-012022-09-300001828161srt:MaximumMember2022-03-252022-03-250001828161ftci:SouthLakeOneLlcMember2022-02-012022-02-2800018281612023-07-012023-09-300001828161us-gaap:CommonStockMember2022-04-012022-06-300001828161us-gaap:RetainedEarningsMember2021-12-310001828161us-gaap:ResearchAndDevelopmentExpenseMember2022-07-012022-09-300001828161us-gaap:EmployeeStockOptionMember2023-07-012023-09-300001828161us-gaap:LeaseholdImprovementsMember2023-09-300001828161us-gaap:CommonStockMember2022-09-300001828161us-gaap:CommonStockMember2023-01-012023-03-310001828161srt:MaximumMember2023-09-300001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-012023-06-300001828161ftci:TreasuryStock1Member2022-09-300001828161ftci:AynaMemberus-gaap:RelatedPartyMember2022-07-012022-09-300001828161us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-09-300001828161ftci:AynaMemberus-gaap:RelatedPartyMember2022-01-012022-09-300001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-300001828161ftci:TreasuryStock1Member2022-12-310001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-3100018281612022-01-012022-09-300001828161us-gaap:EquipmentMember2022-12-310001828161ftci:TreasuryStock1Member2022-03-310001828161us-gaap:ToolsDiesAndMoldsMember2022-12-310001828161us-gaap:RetainedEarningsMember2022-07-012022-09-300001828161us-gaap:AdditionalPaidInCapitalMember2023-06-300001828161us-gaap:AdditionalPaidInCapitalMember2021-12-310001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001828161ftci:TreasuryStock1Member2023-09-300001828161ftci:TreasuryStock1Member2022-06-300001828161us-gaap:RevolvingCreditFacilityMemberus-gaap:LetterOfCreditMemberftci:PlcBarclaysBankMember2021-04-300001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-03-310001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001828161ftci:AtmProgramMember2023-07-012023-09-300001828161us-gaap:RetainedEarningsMember2022-01-012022-03-3100018281612022-03-310001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-012022-06-300001828161us-gaap:RestrictedStockUnitsRSUMembersrt:BoardOfDirectorsChairmanMember2023-07-050001828161us-gaap:EmployeeStockOptionMember2023-01-012023-09-300001828161ftci:AlphaSteelMember2023-01-012023-09-300001828161us-gaap:CostOfSalesMember2023-01-012023-09-300001828161us-gaap:ProductMember2022-01-012022-09-300001828161us-gaap:SellingAndMarketingExpenseMember2022-07-012022-09-300001828161us-gaap:CommonStockMember2021-12-3100018281612023-04-012023-06-300001828161us-gaap:ServiceMember2023-01-012023-09-300001828161us-gaap:LeaseholdImprovementsMember2022-12-310001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-300001828161us-gaap:RetainedEarningsMember2023-06-300001828161us-gaap:SellingAndMarketingExpenseMember2023-01-012023-09-300001828161us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-3000018281612023-09-3000018281612022-12-310001828161us-gaap:SellingAndMarketingExpenseMember2022-01-012022-09-300001828161ftci:AssessmentMember2023-01-012023-09-300001828161ftci:TreasuryStock1Member2023-06-300001828161us-gaap:CommonStockMember2023-09-300001828161srt:MinimumMember2023-09-300001828161us-gaap:CostOfSalesMember2022-01-012022-09-300001828161us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-300001828161us-gaap:SoftwareDevelopmentMember2022-12-310001828161us-gaap:RetainedEarningsMember2022-06-300001828161ftci:DayvLlcMember2023-02-090001828161us-gaap:SoftwareDevelopmentMember2023-09-300001828161us-gaap:RestrictedStockMember2022-07-012022-09-300001828161us-gaap:RestrictedStockMember2023-01-012023-09-300001828161us-gaap:RetainedEarningsMember2022-12-310001828161us-gaap:GeneralAndAdministrativeExpenseMember2023-07-012023-09-300001828161us-gaap:AdditionalPaidInCapitalMember2022-06-300001828161ftci:FernwehEngagedOperatorCompanyLlcMember2023-09-130001828161us-gaap:ServiceMember2022-01-012022-09-300001828161us-gaap:PreferredStockMember2022-06-300001828161us-gaap:RevolvingCreditFacilityMemberus-gaap:LetterOfCreditMemberftci:PlcBarclaysBankMember2023-09-300001828161us-gaap:RestrictedStockMember2022-01-012022-09-3000018281612023-01-012023-03-310001828161us-gaap:TechnologyEquipmentMember2023-09-300001828161srt:MinimumMember2022-03-252022-03-250001828161ftci:FernwehEngagedOperatorCompanyLlcMemberus-gaap:RelatedPartyMember2023-01-012023-09-300001828161ftci:AlphaSteelMember2023-09-3000018281612023-01-012023-09-300001828161us-gaap:RetainedEarningsMember2023-04-012023-06-300001828161us-gaap:RetainedEarningsMember2022-03-310001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-300001828161us-gaap:SellingAndMarketingExpenseMember2023-07-012023-09-300001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-300001828161us-gaap:PreferredStockMember2022-09-300001828161us-gaap:ResearchAndDevelopmentExpenseMember2023-07-012023-09-3000018281612022-01-012022-03-310001828161us-gaap:CostOfSalesMember2023-07-012023-09-300001828161ftci:TaihuaNewEnergyMember2023-02-090001828161ftci:FernwehEngagedOperatorCompanyLlcMemberus-gaap:RelatedPartyMember2023-07-012023-09-300001828161us-gaap:PreferredStockMember2023-09-300001828161us-gaap:CommonStockMember2022-06-300001828161us-gaap:CommonStockMember2023-07-012023-09-300001828161us-gaap:EmployeeStockOptionMember2022-01-012022-09-3000018281612023-10-310001828161srt:MinimumMemberus-gaap:DevelopedTechnologyRightsMember2023-09-300001828161us-gaap:CommonStockMember2023-04-012023-06-300001828161us-gaap:AdditionalPaidInCapitalMember2023-09-300001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001828161us-gaap:CommonStockMember2023-06-300001828161us-gaap:TechnologyEquipmentMember2022-12-310001828161ftci:AtmProgramMember2023-01-012023-09-300001828161ftci:AynaMember2023-01-012023-09-300001828161us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-09-300001828161us-gaap:RestrictedStockUnitsRSUMembersrt:DirectorMember2023-07-0500018281612022-07-012022-09-300001828161us-gaap:AdditionalPaidInCapitalMember2022-09-300001828161us-gaap:RetainedEarningsMember2022-09-300001828161us-gaap:RetainedEarningsMember2023-01-012023-03-310001828161us-gaap:AdditionalPaidInCapitalMember2022-12-310001828161us-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-09-300001828161us-gaap:EquipmentMember2023-09-3000018281612023-06-300001828161ftci:TreasuryStock1Member2023-03-310001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-09-300001828161us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-300001828161us-gaap:ProductMember2022-07-012022-09-300001828161us-gaap:PreferredStockMember2022-03-310001828161us-gaap:AdditionalPaidInCapitalMember2022-03-310001828161us-gaap:CommonStockMember2022-03-310001828161ftci:FernwehEngagedOperatorCompanyLlcMember2023-09-132023-09-1300018281612023-08-3100018281612023-07-050001828161us-gaap:RetainedEarningsMember2022-04-012022-06-3000018281612022-06-3000018281612023-03-310001828161us-gaap:RetainedEarningsMember2023-09-300001828161us-gaap:AdditionalPaidInCapitalMember2023-03-3100018281612021-12-310001828161ftci:AlphaSteelMember2023-02-090001828161us-gaap:PreferredStockMember2023-03-310001828161us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001828161us-gaap:DevelopedTechnologyRightsMember2022-12-310001828161us-gaap:CommonStockMember2022-12-310001828161us-gaap:CommonStockMember2022-01-012022-03-310001828161ftci:AtmProgramMember2023-09-300001828161us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001828161ftci:CbpAssessmentsMember2023-01-012023-09-3000018281612022-01-012022-12-3100018281612022-09-300001828161us-gaap:GeneralAndAdministrativeExpenseMember2022-07-012022-09-300001828161us-gaap:ServiceMember2022-07-012022-09-300001828161us-gaap:EmployeeStockOptionMember2022-07-012022-09-3000018281612022-04-012022-06-3000018281612023-08-012023-08-31ftci:Employeesxbrli:purexbrli:sharesiso4217:USDiso4217:USDxbrli:shares

 

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, D.C. 20549

FORM 10-Q

 

QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

 

 

For the quarterly period ended September 30, 2023

 

 

OR

 

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the transition period from __________to__________

Commission File Number 001-40350

FTC SOLAR, INC.
(Exact name of Registrant as Specified in its Charter)

Delaware

 

81-4816270

(State or Other Jurisdiction of Incorporation or Organization)

 

(I.R.S. Employer Identification No.)

9020 N Capital of Texas Hwy, Suite I-260,

Austin, Texas 78759

 

 

78759

  (Address of Principal Executive Offices)

 

(Zip Code)

(737) 787-7906

Registrant's Telephone Number, Including Area Code

Not Applicable

Former Name, Former Address and Former Fiscal Year, if Changed Since Last Report

Securities registered pursuant to Section 12(b) of the Act:

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock, $0.0001 par value

FTCI

The Nasdaq Stock Market LLC

 

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the Registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. Yes No

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). Yes No

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of ‘‘large accelerated filer,’’ ‘‘accelerated filer,’’ ‘‘smaller reporting company,’’ and ‘‘emerging growth company’’ in Rule 12b-2 of the Exchange Act.

Large accelerated filer

Accelerated filer

Non-accelerated filer

Smaller reporting company

 

 

 

 

 

 

 

 

 

 

Emerging growth company

 

 

 

 

 

 

 

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes No

As of October 31, 2023, 125,005,820 shares of the registrant's common stock were outstanding.

 

 


 

img145300382_0.jpg 

TABLE OF CONTENTS

PART I – FINANCIAL INFORMATION

 

 

 

Page

 

 

Forward-looking statements

1

 

Item 1.

Financial Statements (Unaudited)

2

 

 

Condensed Consolidated Balance Sheets

2

 

 

Condensed Consolidated Statements of Comprehensive Loss

3

 

 

Condensed Consolidated Statements of Stockholders’ Equity

4

 

 

Condensed Consolidated Statements of Cash Flows

6

 

 

Notes to Condensed Consolidated Financial Statements

7

 

Item 2.

Management’s Discussion and Analysis of Financial Condition and Results of Operations

23

 

 

 

 

 

Item 3.

Quantitative and Qualitative Disclosures About Market Risk

44

 

 

 

 

 

Item 4.

Controls and Procedures

45

 

 

 

 

 

PART II – OTHER INFORMATION

 

Item 1.

Legal Proceedings

47

 

Item 1A.

Risk Factors

47

 

Item 2.

Unregistered Sales of Equity Securities, Use of Proceeds, and Issuer Purchases of Equity Securities

48

 

Item 3.

Defaults Upon Senior Securities

49

 

Item 4.

Mine Safety Disclosures

49

 

Item 5.

Other Information

49

 

Item 6.

Exhibits

50

 

SIGNATURE

51

 

 

 


 

FORWARD-LOOKING STATEMENTS

This Quarterly Report on Form 10-Q contains forward-looking statements. All statements other than statements of historical or current facts contained in this Quarterly Report on Form 10-Q may be forward-looking statements. Statements regarding our future results of operations and financial position, business strategy and plans and objectives of management for future operations, including, among others, liquidity, growth and profitability strategies and factors and trends affecting our business are forward-looking statements. Forward-looking statements can be identified in some cases by the use of words such as “believe,” “can,” “could,” “potential,” “plan,” “predict,” “goals,” “seek,” “should,” “may,” “may have,” “would,” “estimate,” “continue,” “anticipate,” “intend,” “expect,” the negative of these words, other similar expressions or by discussions of strategy, plans or intentions.

The forward-looking statements in this Quarterly Report on Form 10-Q are only predictions. We have based these forward-looking statements largely on our current expectations and projections about future events and financial trends that we believe may affect our business, financial condition and results of operations. Forward-looking statements involve known and unknown risks, uncertainties and other important factors that may cause our actual results, performance or achievements, or industry results, to be materially different from any future results, performance or achievements expressed or implied by the forward-looking statements. We believe that these factors include, but are not limited to, the factors set forth under the heading “Risk Factors.” In addition, with respect to prior period acquisitions, these factors also include risks related to: (1) costs attributable to integration of the acquisitions, (2) the inability to successfully merge goals and technology with the acquired businesses, (3) the ability to recognize the anticipated benefits of the acquisitions (including expected orders and revenue for the acquired businesses, which are based on our reasonable due diligence of each business and the information and representations that were made to us), which may be affected by, among other things, competition, brand recognition, the ability of the combined businesses to grow and manage growth profitably and retain their key employees, (4) the failure of the combined businesses to effectively scale tracker systems and solutions in certain international markets and (5) changes in applicable laws or regulations that impact the feasibility of the operations of the combined businesses. Because forward-looking statements are inherently subject to risks and uncertainties, some of which cannot be predicted or quantified, you should not rely on these forward-looking statements as predictions of future events. The events and circumstances reflected in our forward-looking statements may not be achieved or occur and actual results could differ materially from those projected in the forward-looking statements.

In addition, statements that “we believe” and similar statements reflect our beliefs and opinions on the relevant subject. These statements are based upon information available to us as of the date of this Quarterly Report on Form 10-Q, and while we believe such information forms a reasonable basis for such statements, such information may be limited or incomplete, and our statements should not be read to indicate that we have conducted an exhaustive inquiry into, or review of, all potentially available relevant information. These statements are inherently uncertain, and investors are cautioned not to unduly rely upon these statements.

You should read this Quarterly Report on Form 10-Q with the understanding that our actual future results may be materially different from what we expect. All forward-looking statements attributable to us or persons acting on our behalf are expressly qualified in their entirety by these cautionary statements.

These forward-looking statements speak only as of the date of this Quarterly Report on Form 10-Q. Except as required by applicable law, we do not plan to publicly update or revise any forward-looking statements contained in this Quarterly Report on Form 10-Q, whether as a result of any new information, future events or otherwise.

1


 

ITEM 1. FINANCIAL STATEMENTS

 

FTC Solar, Inc.

Condensed Consolidated Balance Sheets

(unaudited)

(in thousands, except shares and per share data)

 

September 30, 2023

 

 

December 31, 2022

 

ASSETS

 

 

 

 

 

 

Current assets

 

 

 

 

 

 

Cash and cash equivalents

 

$

31,520

 

 

$

44,385

 

Accounts receivable, net

 

 

71,375

 

 

 

49,052

 

Inventories

 

 

4,655

 

 

 

14,949

 

Prepaid and other current assets

 

 

13,468

 

 

 

10,304

 

Total current assets

 

 

121,018

 

 

 

118,690

 

Operating lease right-of-use assets

 

 

2,006

 

 

 

1,154

 

Property and equipment, net

 

 

1,685

 

 

 

1,702

 

Intangible assets, net

 

 

657

 

 

 

1,113

 

Goodwill

 

 

7,143

 

 

 

7,538

 

Equity method investment

 

 

564

 

 

 

 

Other assets

 

 

3,186

 

 

 

4,201

 

Total assets

 

$

136,259

 

 

$

134,398

 

LIABILITIES AND STOCKHOLDERS' EQUITY

 

 

 

 

 

 

Current liabilities

 

 

 

 

 

 

Accounts payable

 

$

9,782

 

 

$

15,801

 

Accrued expenses

 

 

25,778

 

 

 

23,896

 

Income taxes payable

 

 

262

 

 

 

443

 

Deferred revenue

 

 

11,178

 

 

 

11,316

 

Other current liabilities

 

 

8,589

 

 

 

8,884

 

Total current liabilities

 

 

55,589

 

 

 

60,340

 

Operating lease liability, net of current portion

 

 

1,310

 

 

 

786

 

Other non-current liabilities

 

 

5,286

 

 

 

6,822

 

Total liabilities

 

 

62,185

 

 

 

67,948

 

Commitments and contingencies (Note 15)

 

 

 

 

 

 

Stockholders’ equity

 

 

 

 

 

 

Preferred stock par value of $0.0001 per share, 10,000,000 shares authorized; none issued as of September 30, 2023 and December 31, 2022

 

 

 

 

 

 

Common stock par value of $0.0001 per share, 850,000,000 shares authorized; 124,954,451 and 105,032,588 shares issued and outstanding as of September 30, 2023 and December 31, 2022

 

 

12

 

 

 

11

 

Treasury stock, at cost; 10,762,566 shares as of September 30, 2023 and December 31, 2022

 

 

 

 

 

 

Additional paid-in capital

 

 

362,532

 

 

 

315,345

 

Accumulated other comprehensive loss

 

 

(512

)

 

 

(61

)

Accumulated deficit

 

 

(287,958

)

 

 

(248,845

)

Total stockholders’ equity

 

 

74,074

 

 

 

66,450

 

Total liabilities and stockholders’ equity

 

$

136,259

 

 

$

134,398

 

 

The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.

 

2


 

FTC Solar, Inc.

Condensed Consolidated Statements of Comprehensive Loss

(unaudited)

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands, except shares and per share data)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Revenue:

 

 

 

 

 

 

 

 

 

 

 

 

Product

 

$

27,274

 

 

$

3,543

 

 

$

80,927

 

 

$

43,677

 

Service

 

 

3,274

 

 

 

13,029

 

 

 

22,874

 

 

 

53,169

 

Total revenue

 

 

30,548

 

 

 

16,572

 

 

 

103,801

 

 

 

96,846

 

Cost of revenue:

 

 

 

 

 

 

 

 

 

 

 

 

Product

 

 

22,775

 

 

 

11,411

 

 

 

73,694

 

 

 

62,800

 

Service

 

 

4,394

 

 

 

14,676

 

 

 

22,492

 

 

 

59,360

 

Total cost of revenue

 

 

27,169

 

 

 

26,087

 

 

 

96,186

 

 

 

122,160

 

Gross profit (loss)

 

 

3,379

 

 

 

(9,515

)

 

 

7,615

 

 

 

(25,314

)

Operating expenses

 

 

 

 

 

 

 

 

 

 

 

 

Research and development

 

 

1,921

 

 

 

2,126

 

 

 

5,716

 

 

 

7,538

 

Selling and marketing

 

 

6,324

 

 

 

1,994

 

 

 

9,887

 

 

 

6,893

 

General and administrative

 

 

11,411

 

 

 

13,059

 

 

 

31,053

 

 

 

39,966

 

Total operating expenses

 

 

19,656

 

 

 

17,179

 

 

 

46,656

 

 

 

54,397

 

Loss from operations

 

 

(16,277

)

 

 

(26,694

)

 

 

(39,041

)

 

 

(79,711

)

Interest expense, net

 

 

(108

)

 

 

(160

)

 

 

(194

)

 

 

(882

)

Gain from disposal of investment in unconsolidated subsidiary

 

 

 

 

 

1,408

 

 

 

898

 

 

 

1,745

 

Other expense, net

 

 

(50

)

 

 

(341

)

 

 

(265

)

 

 

(249

)

Loss from unconsolidated subsidiary

 

 

(336

)

 

 

 

 

 

(336

)

 

 

 

Loss before income taxes

 

 

(16,771

)

 

 

(25,787

)

 

 

(38,938

)

 

 

(79,097

)

(Provision for) benefit from income taxes

 

 

(166

)

 

 

151

 

 

 

(175

)

 

 

(15

)

Net loss

 

 

(16,937

)

 

 

(25,636

)

 

 

(39,113

)

 

 

(79,112

)

Other comprehensive loss:

 

 

 

 

 

 

 

 

 

 

 

 

Foreign currency translation adjustments

 

 

(38

)

 

 

(474

)

 

 

(451

)

 

 

(357

)

Comprehensive loss

 

$

(16,975

)

 

$

(26,110

)

 

$

(39,564

)

 

$

(79,469

)

Net loss per share:

 

 

 

 

 

 

 

 

 

 

 

 

Basic and diluted

 

$

(0.14

)

 

$

(0.25

)

 

$

(0.35

)

 

$

(0.79

)

Weighted-average common shares outstanding:

 

 

 

 

 

 

 

 

 

 

 

 

Basic and diluted

 

 

119,793,821

 

 

 

102,164,455

 

 

 

112,794,562

 

 

 

100,642,126

 

 

The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.

 

3


 

FTC Solar, Inc.

Condensed Consolidated Statements of Stockholders’ Equity

(unaudited)

 

 

 

Preferred stock

 

 

Common stock

 

 

Treasury stock

 

 

 

 

 

 

 

 

 

 

 

 

 

(in thousands, except shares)

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

Additional
paid-In
capital

 

 

Accumulated other comprehensive loss

 

 

Accumulated deficit

 

 

Total
stockholders'
equity
(deficit)

 

Balance as of December 31, 2022

 

 

 

 

$

 

 

 

105,032,588

 

 

$

11

 

 

 

10,762,566

 

 

$

 

 

$

315,345

 

 

$

(61

)

 

$

(248,845

)

 

$

66,450

 

Shares issued during the period for vested restricted stock awards

 

 

 

 

 

 

 

 

1,498,987

 

 

 

 

 

 

 

 

 

 

 

 

2,775

 

 

 

 

 

 

 

 

 

2,775

 

Issuance of common stock upon exercise of stock options

 

 

 

 

 

 

 

 

265,125

 

 

 

 

 

 

 

 

 

 

 

 

51

 

 

 

 

 

 

 

 

 

51

 

Shares issued for legal settlement

 

 

 

 

 

 

 

 

797,396

 

 

 

 

 

 

 

 

 

 

 

 

2,000

 

 

 

 

 

 

 

 

 

2,000

 

Sale of shares

 

 

 

 

 

 

 

 

2,683,000

 

 

 

 

 

 

 

 

 

 

 

 

6,292

 

 

 

 

 

 

 

 

 

6,292

 

Stock offering costs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(32

)

 

 

 

 

 

 

 

 

(32

)

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,472

 

 

 

 

 

 

 

 

 

2,472

 

Net loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(11,762

)

 

 

(11,762

)

Other comprehensive loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(5

)

 

 

 

 

 

(5

)

Balance as of March 31, 2023

 

 

 

 

 

 

 

 

110,277,096

 

 

 

11

 

 

 

10,762,566

 

 

 

 

 

 

328,903

 

 

 

(66

)

 

 

(260,607

)

 

 

68,241

 

Shares issued during the period for vested restricted stock awards

 

 

 

 

 

 

 

 

1,213,037

 

 

 

 

 

 

 

 

 

 

 

 

2,085

 

 

 

 

 

 

 

 

 

2,085

 

Issuance of common stock upon exercise of stock options

 

 

 

 

 

 

 

 

39,087

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sale of shares

 

 

 

 

 

 

 

 

6,589,000

 

 

 

1

 

 

 

 

 

 

 

 

 

17,347

 

 

 

 

 

 

 

 

 

17,348

 

Stock offering costs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(127

)

 

 

 

 

 

 

 

 

(127

)

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,669

 

 

 

 

 

 

 

 

 

2,669

 

Net loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(10,414

)

 

 

(10,414

)

Other comprehensive loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(408

)

 

 

 

 

 

(408

)

Balance as of June 30, 2023

 

 

 

 

 

 

 

 

118,118,220

 

 

 

12

 

 

 

10,762,566

 

 

 

 

 

 

350,877

 

 

 

(474

)

 

 

(271,021

)

 

 

79,394

 

Shares issued during the period for vested restricted stock awards

 

 

 

 

 

 

 

 

595,097

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Issuance of common stock upon exercise of stock options

 

 

 

 

 

 

 

 

403,749

 

 

 

 

 

 

 

 

 

 

 

 

170

 

 

 

 

 

 

 

 

 

170

 

Sale of shares

 

 

 

 

 

 

 

 

6,149,885

 

 

 

 

 

 

 

 

 

 

 

 

10,367

 

 

 

 

 

 

 

 

 

10,367

 

Stock offering costs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(74

)

 

 

 

 

 

 

 

 

(74

)

Share repurchase and retirement

 

 

 

 

 

 

 

 

(312,500

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,192

 

 

 

 

 

 

 

 

 

1,192

 

Net loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(16,937

)

 

 

(16,937

)

Other comprehensive loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(38

)

 

 

 

 

 

(38

)

Balance as of September 30, 2023

 

 

 

 

$

 

 

 

124,954,451

 

 

$

12

 

 

 

10,762,566

 

 

$

 

 

$

362,532

 

 

$

(512

)

 

$

(287,958

)

 

$

74,074

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.

 

4


 

FTC Solar, Inc.

Condensed Consolidated Statements of Stockholders’ Equity

(unaudited)

 

 

 

Preferred stock

 

 

Common stock

 

 

Treasury stock

 

 

 

 

 

 

 

 

 

 

 

 

 

(in thousands, except shares)

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

Additional
paid-In
capital

 

 

Accumulated
other
comprehensive
income (loss)

 

 

Accumulated
deficit

 

 

Total
stockholders'
equity
(deficit)

 

Balance as of December 31, 2021

 

 

 

 

$

 

 

 

92,619,641

 

 

$

9

 

 

 

10,762,566

 

 

$

 

 

$

292,082

 

 

$

7

 

 

$

(149,232

)

 

$

142,866

 

Shares issued during the period for vested restricted stock awards

 

 

 

 

 

 

 

 

5,311,326

 

 

 

1

 

 

 

 

 

 

 

 

 

(1

)

 

 

 

 

 

 

 

 

 

Issuance of common stock upon exercise of stock options

 

 

 

 

 

 

 

 

1,793,876

 

 

 

 

 

 

 

 

 

 

 

 

428

 

 

 

 

 

 

 

 

 

428

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4,610

 

 

 

 

 

 

 

 

 

4,610

 

Net loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(27,793

)

 

 

(27,793

)

Other comprehensive gain

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

57

 

 

 

 

 

 

57

 

Balance as of March 31, 2022

 

 

 

 

 

 

 

 

99,724,843

 

 

 

10

 

 

 

10,762,566

 

 

 

 

 

 

297,119

 

 

 

64

 

 

 

(177,025

)

 

 

120,168

 

Shares issued during the period for vested restricted stock awards

 

 

 

 

 

 

 

 

729,106

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Issuance of common stock upon exercise of stock options

 

 

 

 

 

 

 

 

266,225

 

 

 

 

 

 

 

 

 

 

 

 

86

 

 

 

 

 

 

 

 

 

86

 

Shares issued for HX Tracker acquisition

 

 

 

 

 

 

 

 

1,000,000

 

 

 

 

 

 

 

 

 

 

 

 

4,370

 

 

 

 

 

 

 

 

 

4,370

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

998

 

 

 

 

 

 

 

 

 

998

 

Net loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(25,683

)

 

 

(25,683

)

Other comprehensive gain

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

 

 

 

 

 

 

60

 

Balance as of June 30, 2022

 

 

 

 

 

 

 

 

101,720,174

 

 

 

10

 

 

 

10,762,566

 

 

 

 

 

 

302,573

 

 

 

124

 

 

 

(202,708

)

 

 

99,999

 

Shares issued during the period for vested restricted stock awards

 

 

 

 

 

 

 

 

645,896

 

 

 

 

 

 

 

 

 

 

 

 

1,826

 

 

 

 

 

 

 

 

 

1,826

 

Issuance of common stock upon exercise of stock options

 

 

 

 

 

 

 

 

678,254

 

 

 

 

 

 

 

 

 

 

 

 

274

 

 

 

 

 

 

 

 

 

274

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5,539

 

 

 

 

 

 

 

 

 

5,539

 

Net loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(25,636

)

 

 

(25,636

)

Other comprehensive loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(474

)

 

 

 

 

 

(474

)

Balance as of September 30, 2022

 

 

 

 

$

 

 

 

103,044,324

 

 

$

10

 

 

 

10,762,566

 

 

$

 

 

$

310,212

 

 

$

(350

)

 

$

(228,344

)

 

$

81,528

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.

 

5


 

FTC Solar, Inc.

Condensed Consolidated Statements of Cash Flows

(unaudited)

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

Cash flows from operating activities

 

 

 

 

 

 

Net loss

 

$

(39,113

)

 

$

(79,112

)

Adjustments to reconcile net loss to cash used in operating activities:

 

 

 

 

 

 

Stock-based compensation

 

 

9,044

 

 

 

11,147

 

Depreciation and amortization

 

 

1,004

 

 

 

582

 

(Gain) loss from sale of property and equipment

 

 

(2

)

 

 

183

 

Amortization of debt issue costs

 

 

532

 

 

 

526

 

Provision for obsolete and slow-moving inventory

 

 

1,261

 

 

 

129

 

Loss from unconsolidated subsidiary

 

 

336

 

 

 

 

Gain from disposal of investment in unconsolidated subsidiary

 

 

(898

)

 

 

(1,745

)

Warranty provision

 

 

3,938

 

 

 

7,374

 

Warranty recoverable from manufacturer

 

 

45

 

 

 

(299

)

Credit losses and bad debt expense

 

 

4,302

 

 

 

1,138

 

Deferred income taxes

 

 

221

 

 

 

(331

)

Lease expense and other

 

 

748

 

 

 

550

 

Impact on cash from changes in operating assets and liabilities:

 

 

 

 

 

 

Accounts receivable, net

 

 

(26,625

)

 

 

53,481

 

Inventories

 

 

9,033

 

 

 

(8,574

)

Prepaid and other current assets

 

 

(3,122

)

 

 

4,948

 

Other assets

 

 

67

 

 

 

(661

)

Accounts payable

 

 

(6,160

)

 

 

(11,867

)

Accruals and other current liabilities

 

 

5,491

 

 

 

(25,507

)

Deferred revenue

 

 

(138

)

 

 

3,489

 

Other non-current liabilities

 

 

(5,740

)

 

 

(4,188

)

Lease payments and other, net

 

 

(607

)

 

 

(348

)

Net cash used in operations

 

 

(46,383

)

 

 

(49,085

)

Cash flows from investing activities:

 

 

 

 

 

 

Purchases of property and equipment

 

 

(460

)

 

 

(814

)

Proceeds from sale of property and equipment

 

 

 

 

 

86

 

Equity method investment in Alpha Steel

 

 

(900

)

 

 

 

Acquisitions, net of cash acquired

 

 

 

 

 

(5,093

)

Proceeds from disposal of investment in unconsolidated subsidiary

 

 

898

 

 

 

1,745

 

Net cash used in investing activities

 

 

(462

)

 

 

(4,076

)

Cash flows from financing activities:

 

 

 

 

 

 

Sale of common stock

 

 

34,007

 

 

 

 

Stock offering costs paid

 

 

(95

)

 

 

 

Proceeds from stock option exercises

 

 

221

 

 

 

788

 

Net cash provided by financing activities

 

 

34,133

 

 

 

788

 

Effect of exchange rate changes on cash and cash equivalents

 

 

(153

)

 

 

8

 

Net decrease in cash and cash equivalents

 

 

(12,865

)

 

 

(52,365

)

Cash and cash equivalents at beginning of period

 

 

44,385

 

 

 

102,185

 

Cash and cash equivalents at end of period

 

$

31,520

 

 

$

49,820

 

 

 

 

 

 

 

Supplemental disclosures of cash flow information:

 

 

 

 

 

 

Purchases of property and equipment included in ending accounts payable and accruals

 

$

146

 

 

$

27

 

Stock issued for accrued legal settlement

 

$

2,000

 

 

$

 

Right-of-use asset and lease liability recognition for new leases

 

$

1,417

 

 

$

 

Cash paid during the period for third party interest

 

$

436

 

 

$

657

 

Cash paid during the period for taxes, net of refunds

 

$

331

 

 

$

119

 

 

The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.

 

6


 

FTC Solar, Inc.

Notes to Condensed Consolidated Financial Statements

(unaudited)

1. Description of business

FTC Solar, Inc. (the “Company”, “we”, “our”, or “us”) was founded in 2017 and is incorporated in the state of Delaware. In April 2021, we completed an initial public offering ("IPO"), and our common stock began trading on the Nasdaq Global Market under the symbol “FTCI”.

We are a global provider of solar tracker systems, supported by proprietary software and value-added engineering services. Solar tracker systems move solar panels throughout the day to maintain an optimal orientation relative to the sun, thereby increasing the amount of solar energy produced at a solar installation. Our original tracker system is currently marketed under the Voyager brand name (“Voyager”), which is our two-panel in-portrait ("2P") single-axis tracker solution. In September 2022, we announced the introduction of Pioneer, our new one module-in-portrait ("1P") solar tracker solution. We have also launched a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules by project owners and, in August 2023, we introduced SUNOPS, a cloud-based, tracker-agnostic solar asset monitoring solution allowing asset owners and managers to evaluate the operation and performance of their solar deployments. In addition, we have a team of renewable energy professionals available to assist our U.S. and worldwide clients in site layout, structural design, pile testing and other needs across the solar project development and construction cycle. The Company is headquartered in Austin, Texas, and has international subsidiaries in Australia, China, India and South Africa.

We are an emerging growth company, as defined in the Jumpstart Our Business Startups (JOBS) Act. Under the JOBS Act, we elected to use the allowed extended transition period to delay adopting new or revised accounting standards until such time as those standards apply to private companies.

 

2. Summary of significant accounting policies

Basis of presentation and principles of consolidation

The accompanying unaudited condensed consolidated financial statements include the results of the Company and its wholly owned subsidiaries and have been prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) for interim financial statements and pursuant to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, all adjustments of a normal recurring nature have been made that are considered necessary for a fair statement of our financial position as of September 30, 2023, and December 31, 2022, our results of operations for the three and nine months ended September 30, 2023 and 2022, and our cash flows for the nine months ended September 30, 2023 and 2022. The condensed consolidated balance sheet as of December 31, 2022 has been derived from the Company’s audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America. Operating results for the three and nine months ended September 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. Intercompany balances and transactions have been eliminated in consolidation.

Certain information and disclosures normally included in the notes to annual financial statements prepared in accordance with U.S. GAAP have been omitted from these interim financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Therefore, these unaudited condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (our "2022 Annual Report").

We currently operate in one business segment, the manufacturing and servicing of solar tracker systems.

Liquidity

We have incurred cumulative losses since inception, resulting in an accumulated deficit of $288.0 million as of September 30, 2023, and have a history of cash outflows from operations. During the years ended December 31, 2021 and 2022, and the nine months ended September 30, 2023, we had $132.9 million, $54.5 million and $46.4 million, respectively, of cash outflows from operations. As of September 30, 2023, we had $31.5 million of cash on hand, $65.4 million of working capital, approximately $64.9 million of remaining

 

7


 

capacity available for future sales of our common stock under our ATM program as described further in Note 5 below, and approximately $98.0 million of unused borrowing capacity under our existing Senior Secured Revolving Credit Facility (the "Credit Facility") until termination on April 30, 2024. The Credit Facility includes a financial condition covenant stating we are required to have a minimum liquidity, consisting of cash on hand and unused borrowing capacity, of $125.0 million as of each quarter end. Additionally, as of September 30, 2023, we had a material contractual obligation that could require us to make additional equity investment capital contributions to Alpha Steel, as described further in "Note 3, Equity method investment".

The Uyghur Forced Labor Prevention Act ("UFLPA") was passed by the U.S. Congress and signed into law by President Biden on December 23, 2021. The UFLPA establishes a rebuttable presumption that the importation of any goods, wares, articles, and merchandise mined, produced, or manufactured wholly or in part in the Xinjiang Uyghur Autonomous Region of the People's Republic of China ("Xinjiang"), or that are produced by certain entities, is prohibited by Section 307 of the Tariff Act of 1930 and that such goods, wares, articles, and merchandise are not entitled to entry to the United States. U.S. Customs and Border Protection ("CBP") began implementing the presumption set out in the UFLPA on June 21, 2022, resulting in new rules for solar module importers and reviews by CBP. There continues to be uncertainty in the market around achieving full compliance with the UFLPA for the importation of solar modules, whether related to sufficient traceability of materials or other factors.

On April 1, 2022, the U.S. Department of Commerce, in response to a petition by Auxin Solar, Inc., published a notice initiating an investigation ("the Solar Circumvention Investigation") of claims related to alleged circumvention of U.S. antidumping and countervailing duties ("AD/CVD") by solar manufacturers in certain Southeast Asian countries, in an effort to determine whether or not solar cells and/or modules made in those Southeast Asian nations use parts originating from China in order to circumvent the AD/CVD tariffs. On June 6, 2022, President Biden issued a proclamation allowing U.S. solar deployers the ability to import solar modules and cells from Cambodia, Malaysia, Thailand and Vietnam free from certain duties for 24 months, along with other incentives designed to accelerate U.S. domestic production of clean energy technologies.

Since 2016, CBP has issued a number of withhold release orders ("WRO") directed at forced labor in China, including WROs directed specifically at activity in Xinjiang. To date, CBP has used the WROs to detain solar panels, which has disrupted the U.S. solar installation market and caused additional uncertainty on future projects.

These policies and actions have resulted in some developers deferring projects due to the uncertainty of panel supply and costs, which negatively impacted our 2022 revenue and cash flows and are continuing to negatively impact our revenue and our cash flows to date in 2023.

The most notable incentive program impacting our U.S. business has been the investment tax credit ("ITC") for solar energy projects, which allows taxpayers to offset their U.S. federal income tax liability by a certain percentage of their cost basis in solar energy systems placed in service for commercial use. The Inflation Reduction Act of 2022, passed by the U.S. Congress and signed into law by President Biden on August 16, 2022, expanded and extended the tax credits and other tax benefits available to solar energy projects and the solar energy supply chain. ITCs have been extended for such projects through at least 2032 and, depending on the location of a particular project and its ability to satisfy certain labor and domestic content requirements, the ITC percentage can range between 30% and 50%. U.S. manufacturers of specific solar components are now eligible to claim production tax credits as an alternative to the ITC. Implementing regulations for this law are still being finalized.

Our costs are affected by the costs of certain components and materials, such as steel, motors and micro-chips, as well as transportation costs. Current market conditions and international conflicts that constrain the supply of materials and disrupt the flow of materials from international vendors impact the cost of our products and services, along with overall rates of inflation in the global economy, which have been higher than pre-COVID 19 pandemic historical rates. Transportation costs, including ocean freight and U.S. domestic haul rates, increased at the beginning of the COVID-19 pandemic but have since returned to pre-pandemic rates. Domestic fuel prices, however, continue to be elevated compared to pre-pandemic rates. Additionally, COVID-19 shutdowns in China during 2022 created a backlog of exports and increased demand for container shipments from China, but such shutdowns have since been eased by the Chinese government. These cost increases and decreases impact our operating margins. We have taken steps to expand and diversify our manufacturing partnerships and have adjusted our modes of transportation to mitigate the impact of headwinds that arise in the global supply chain and logistics markets. As an example, we have modified our ocean freight from previously using charter shipments to now using containerized shipments as costs in the container market began to decrease in 2022. We continue to monitor the logistics markets and will continue to evaluate our use of various modes of transportation when warranted to optimize our transportation costs. Additionally, from February 2022 to September 2023, we utilized a related-party consulting firm to support us in making improvements to our processes and performance in various areas, including design, sourcing, logistics, pricing, software and our distributed generation business. For further information regarding this consulting firm, see "Note 17. Related party transactions".

 

8


 

In accordance with Accounting Standards Codification ("ASC") 205-40, Going Concern, we have evaluated whether there are conditions and events, considered in the aggregate, which raise substantial doubt about our ability to continue as a going concern within one year after the date these condensed consolidated financial statements are issued. While the UFLPA continues to create uncertainty in the market, we believe that passage of the Inflation Reduction Act of 2022, as described above, has reduced the level of uncertainty among solar project owners and developers with regard to new project development in the United States. We note that implementing regulations for the Inflation Reduction Act are still being finalized, which creates uncertainty about the extent of its impact on our Company and the solar energy industry. We also took significant steps in 2022, and are continuing to take further steps in 2023, to address the recent market challenges and our historical use of cash through the following actions:

certain members of our senior management team elected to forego certain cash compensation during the second half of 2022 in exchange for equity compensation;
the members of our board of directors agreed to take equity compensation in lieu of cash compensation during 2023;
we began making certain incentive compensation payments to all employees in stock rather than cash beginning at the end of the second quarter of 2022;
we reduced our workforce by approximately 8% in December of 2022, and another 9% in the third quarter of 2023;
we initially froze non-essential hiring in 2022, placed restrictions on certain travel, decreased the future use of consultants and continue to defer non-critical initiatives;
we have initiated frequent, consistent communication with our customers, which in certain cases has allowed us to resolve issues preventing timely collection of certain past due outstanding receivables;
we have emphasized cash collections from customers, and continue to negotiate improved payment terms with both our customers and vendors and have switched vendors when needed to obtain cost savings;
we launched Pioneer, a 1P solar tracker solution, and introduced a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules not subject to UFLPA;
we reached a settlement agreement with FCX Solar, LLC in December 2022, regarding a lawsuit filed against us relating to claims of patent infringement in order to eliminate future time and expense involved in defending ourselves in this action; under the settlement agreement, we were able to utilize our common stock to satisfy a portion of the settlement payment;
we made an investment to acquire a 45% ownership interest in Alpha Steel, a manufacturing partnership with a leading steel fabricator, which will enhance our domestic supply chain to reduce our exposure to import duties and import restrictions, as described further in "Note 3, Equity method investment" below;
in 2023, we began selling newly issued shares of our common stock under our ATM program (as defined and described further in "Note 5, ATM program" below); and
we continue to actively explore options to obtain additional sources of capital through either the issuance of new debt or equity.

A number of the steps above, as well as improvements in the logistics markets and easing of supply chain constraints, contributed to us having positive gross profit in the nine months ended September 30, 2023, which also reduced our use of cash required to fund our operations during the current year-to-date period.

Management believes that our existing cash on hand, as well as the continuing impact of certain of the actions described above and our expectations of improved market conditions and positive results from our efforts to continue to increase gross margins, will allow us to grow profitably and generate positive cash flow from operations during the next twelve months in amounts that will be sufficient, along with our other available resources, to fund our operations for at least one year from the date of issuance of the condensed consolidated financial statements.

We have achieved success in executing certain of the initiatives above and we continue to work to further reduce our use of cash to fund our operations. We have begun and expect to continue seeing the benefits from production of our Pioneer solution in our financial results during 2024 and we believe passage of the Inflation Reduction Act of 2022 and our investment in Alpha Steel will also ultimately benefit demand for our products in the United States. At the same time, however, new rules for module importers and reviews by CBP pursuant to achieving full compliance with the UFLPA are expected to continue creating uncertainty in the market. However, once there is additional clarity around compliance with the UFLPA and customers get line-of-sight to module deliveries, we believe the market will see a recovery. While there are already many underlying drivers of growth in the solar industry, the expected positive impact on demand for

 

9


 

our products could take longer than expected to occur. In addition, market conditions could deteriorate significantly from what we currently expect, and regulatory and international trade policies could become more stringent as a result of (i) findings from the Solar Circumvention Investigation, (ii) CBP's enforcement of the UFLPA, and (iii) other factors, which may result in a need for us to issue additional debt or obtain new equity financing, which could result in additional shareholder dilution, to continue to adequately fund our existing operations beyond the next twelve months. We may be unable to obtain any desired additional financing on terms favorable to us, or at all, depending on market and other conditions, which could result in curtailment of our current operations and our ability to further invest in our products and new technology. The ability to raise additional financing depends on numerous factors that are outside of our control, including macroeconomic factors such as the impact of inflation, the ongoing conflict in the Ukraine, market conditions, the health of financial institutions (including the recent bankruptcy of certain regional banks and related impacts that have occurred and continue to occur in the banking industry), investors' and lenders' assessments of our prospects and the prospects of the solar industry in general.

Use of estimates

Preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported revenue and expenses during the period. Estimates are used for calculating the measure of progress of our solar tracker projects and deriving the standalone selling prices of the individual performance obligations when determining amounts to recognize for revenue, estimating allowances for credit losses and slow-moving and obsolete inventory, determining useful lives of long-lived assets and the estimated fair value of those assets for impairment assessments, and estimating the fair value of investments, stock compensation awards, warranty liabilities and federal and state taxes, including tax valuation allowances, as well as other contingencies. We base our estimates on historical experience and anticipated results, trends, and various other assumptions that we believe are reasonable under the circumstances, including assumptions as to future events. Actual results could differ from those estimates due to risks and uncertainties.

Concentration of credit risk

Financial instruments that potentially subject the Company to concentrations of credit risk are primarily cash and accounts receivable.

We regularly maintain cash balances with various financial institutions that exceed federally insured amounts, but we have experienced no losses associated with these amounts to date. We also took action in early 2023 to reallocate cash balances between different financial institutions based on our assessment as to the financial health of certain institutions.

We extend credit to customers in the normal course of business, often without requiring collateral. We also perform credit analyses and monitor the financial health of our customers to reduce credit risk.

The Company’s accounts receivables are derived from revenue earned from customers primarily located in the U.S. and Australia. No countries other than the U.S. and Australia account for 10% or more of our revenue. Most of our customers are project developers, solar asset owners and engineering, procurement and construction (“EPC”) contractors that design and build solar energy projects. We typically rely on a small number of customers that account for a large portion of our revenue each period and our outstanding receivables at each period end.

Cash and cash equivalents

We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents. Certain of our cash equivalents include deposits in money market funds that invest primarily in short-term securities issued or guaranteed by the U.S. government or its agencies or instrumentalities and contain no restrictions on immediate redemption. The carrying value for money market fund deposits approximates fair value based on quoted prices in active markets for units held (Level 1 classification) and totaled $18.1 million at September 30, 2023 and $25.4 million at December 31, 2022. Interest earned on cash equivalents is included in interest income, which is reported net of interest expense in our condensed consolidated statements of comprehensive loss.

Accounts receivable, net

Trade receivables are recorded at invoiced amounts, net of allowances for credit losses, and do not bear interest. We generally do not require collateral from our customers; however, in certain circumstances, we may require letters of credit, other collateral, additional guarantees or advance payments.

 

10


 

The allowance for credit losses is based on the lifetime expected credit loss of our customer accounts. To assess the lifetime expected credit loss, we utilize a loss rate method that takes into consideration historical experience and certain other factors, as appropriate, such as credit quality and current economic or other conditions that may affect a customer's ability to pay. Provisions for credit losses are included as a component of our selling and marketing costs.

Receivables arising from revenue recognized in excess of billings represents our unconditional right to consideration before customers are invoiced due to the level of progress obtained as of period end on our contracts to procure and deliver tracker systems and related equipment. Further information may be found below in our revenue recognition policy.

Inventories, net

Inventories are stated at the lower of cost or net realizable value, with costs computed on a first-in, first-out basis. The Company periodically reviews its inventories for excess and obsolete items and adjusts carrying costs to estimated net realizable values when they are determined to be less than cost.

Impairment

We review our long-lived assets that are held for use for impairment whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable or that its useful life may be shorter than previously expected. If such impairment indicators are present or other factors exist that indicate the carrying amount of the asset may not be recoverable, we determine whether an impairment has occurred through the use of an undiscounted cash flow analysis of the asset at the lowest level for which identifiable cash flows exist. If an impairment has occurred, we recognize a loss for the difference between the carrying amount and the fair value of the asset, which in most cases is estimated based upon Level 3 unobservable inputs. If the asset is determined to have a remaining useful life shorter than previously expected an adjustment for the shorter remaining life will be made for purposes of recognizing future depreciation expense. Assets are classified as held for sale when we have a plan, approved by the appropriate levels of management, for disposal of such assets, as well as other considerations, and those assets are stated at the lower of carrying value or estimated fair value less estimated costs to sell.

Intangible assets, net

Intangible assets consist of developed technology in the form of software tools, licenses and intellectual property, which are amortized over the period of their estimated useful lives, generally 2.5 to 3.0 years, using the straight-line method. We evaluate our intangible assets for impairment whenever events or changes in circumstances indicate the carrying amount of our intangible assets may not be recoverable or that their useful lives may be shorter than previously expected.

Goodwill

We recognize goodwill as the excess of the purchase price over the estimated fair value of the identified assets and liabilities acquired in a business combination accounted for using the acquisition method. Goodwill is not amortized but is subject to a periodic assessment for impairment at least annually, or whenever events and circumstances indicate an impairment may exist.

Equity method investment

We use the equity method of accounting for investments in which we have the ability to exercise significant influence, but not control, over operating and financial policies of the investee. Our proportionate share of the net income or loss of these investees is included in our condensed consolidated statements of comprehensive loss. Judgment regarding the level of influence over each equity method investment includes considering key factors such as our ownership interest, legal form of the investee, representation on the board of directors or managers, participation in policy-making decisions and material intra-entity transactions. We account for distributions received from equity method investees under the "nature of the distribution" approach based on the nature of the activity or activities of the investee that generated the distribution as either a return on investment (classified as cash inflows from operating activities) or a return of investment (classified as cash inflows from investing activities).

We evaluate equity method investments for impairment whenever events or changes in circumstances indicate that the carrying amount of the investment might not be recoverable.

 

11


 

Warranty

Typically, the sale of solar tracker projects includes parts warranties to customers as part of the overall price of the product. We provide standard assurance type warranties for our products for periods generally ranging from two to ten years. We record a provision for estimated warranty expenses in cost of sales, net of amounts recoverable from manufacturers under their warranty obligations to us. We do not maintain general or unspecified reserves; all warranty reserves are related to specific projects. All actual or estimated material costs incurred for warranty services in subsequent periods are charged to those established reserves.

While we periodically monitor our warranty activities and claims, if actual costs incurred were to be different from our estimates, we would recognize adjustments to our warranty reserves in the period in which those differences arise or are identified.

Stock-based compensation

We recognize compensation expense for all share-based payment awards made, including stock options and RSUs, based on the estimated fair value of the award on the grant date. We calculate the fair value of stock options using the Black-Scholes option pricing model for awards with service-based vesting or through use of a lattice model or a Monte Carlo simulation for awards with market conditions. The fair value of RSUs is based on the estimated fair value of the Company's common stock on the date of grant. We consider the closing price of our stock, as reported on the Nasdaq Global Market, to be the fair value of our stock on the grant date.

Forfeitures are accounted for as they occur. For service-based awards, stock-based compensation is recognized using the straight-line attribution approach over the requisite service period. For performance-based awards, stock-based compensation is recognized based on graded vesting over the requisite service period when the performance condition is probable of being achieved. Stock compensation expense for market-based awards is recognized over the derived service period determined in the valuation model, inclusive of any vesting conditions.

Revenue recognition

Product revenue is derived from the sale of solar tracker systems and customized components for those systems, individual part sales for certain specific transactions and the sale of term-based software licenses. Term-based licensed software is deployed on the customers’ own servers and has significant standalone functionality.

Service revenue includes revenue from shipping and handling services, engineering consulting and pile testing services, our subscription-based enterprise licensing model and maintenance and support services in connection with the term-based software licenses. Our subscription-based enterprise licensing model typically has contract terms ranging from one to two years and consists of subscription fees from the licensing of subscription services. Our hosted on-demand service arrangements do not provide customers with the right to take possession of the software supporting the hosted services. Support services include ongoing security updates, upgrades, bug fixes, and maintenance.

We recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration to which we expect to be entitled to in exchange for those goods or services by following a five-step process: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when or as the Company satisfies a performance obligation, as further described below.

Identify the contract with a customer: A contract with a customer exists when (i) the Company enters into an enforceable contract with a customer that defines each party’s rights regarding the products and services to be transferred and identifies the payment terms related to these products and services, (ii) the contract has commercial substance, and (iii) the Company determines that collection of substantially all consideration for products and services that are transferred is probable based on the customer’s intent and ability to pay the promised consideration. In assessing the recognition of revenue, we also evaluate whether two or more contracts should be combined and accounted for as one contract and if the combined or single contract should be accounted for as multiple performance obligations which could change the amount of revenue and profit (loss) recorded in a period. Change orders may include changes in specifications or design, manner of performance, equipment, materials, scope of work, and/or the period of completion of the project. We analyze change orders to determine if they should be accounted for as a modification to an existing contract or a new stand-alone contract.

 

12


 

Contracts we enter into with our customers for sale of solar tracker systems are generally under two different types of arrangements: (1) purchase agreements and equipment supply contracts (“Purchase Agreements”), and (2) sale of individual parts for those systems.

Change orders from our customers are generally modifications to existing contracts and are included in the total estimated contract revenue when it is probable that the change order will result in additional value that can be reliably estimated and realized.

Identify the performance obligations in the contract: We enter into contracts that can include various combinations of products and services, which are either capable of being distinct and accounted for as separate performance obligations or as one performance obligation since the majority of tasks and services are part of a single project or capability. However, determining whether products or services are considered distinct performance obligations that should be accounted for separately versus together may sometimes require significant judgment.

Our Purchase Agreements typically include two performance obligations: 1) our solar tracker systems or customized components of those systems, and 2) shipping and handling services. The deliverables included as part of our solar tracker systems are predominantly accounted for as one performance obligation, as these deliverables are part of a combined promise to deliver a project.

The revenue for shipping and handling services will be recognized over time based on progress in meeting shipping terms of the arrangements, as this faithfully depicts the Company’s performance in transferring control. Revenue for stand-alone engineering consulting and pile testing services is recognized at a point in time upon completion of the services performed.

Sales of individual parts of our solar tracker systems for certain specific transactions include multiple performance obligations consisting of individual parts of those systems. Revenue is recognized for parts sales at a point in time when the obligations under the terms of the contract with our customer are satisfied. Generally, this occurs with the transfer of control of the asset, which is in line with shipping terms.

Determine the transaction price: The transaction price is determined based on the consideration to which we will be entitled in exchange for transferring services to the customer. Such amounts are typically stated in the customer contract, and to the extent that we identify variable consideration, we will estimate the variable consideration at the onset of the arrangement as long as it is probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. The majority of our contracts do not contain variable consideration provisions as a continuation of the original contract. None of our contracts contain a significant financing component. Taxes collected from customers and remitted to governmental authorities are not included in revenue.

Allocate the transaction price to performance obligations in the contract: Once we have determined the transaction price, we allocate the total transaction price to each performance obligation in a manner depicting the amount of consideration to which we expect to be entitled in exchange for transferring the good(s) or service(s) to the customer. We allocate the transaction price to each performance obligation identified in the contract on a relative standalone selling price basis.

We use the expected cost-plus margin approach based on hardware, labor, and related overhead cost to estimate the standalone selling price of our solar tracker systems, customized components of those systems, and individual parts for certain specific transactions. We also use the expected cost-plus margin approach based on expected third-party shipping and transportation costs to estimate the standalone selling price of our shipping, handling and logistics performance obligations. We use the adjusted market assessment approach for all other performance obligations.

Recognize revenue when or as the Company satisfies a performance obligation: For each performance obligation identified, we determine at contract inception whether we satisfy the performance obligation over time or at a point in time. The performance obligations in the contracts for our solar tracker systems and customized components of those systems are satisfied over time as work progresses, utilizing an input measure of progress determined by cost-to-cost measures on these projects as this faithfully depicts our performance in transferring control. Additionally, our performance does not create an asset with an alternative use, due to the highly customized nature of the product, and we have an enforceable right to payment for performance completed to date. Our performance obligations for individual part sales for certain specific transactions are recognized at a point in time as and when control transfers based on the Incoterms for the contract. Our performance obligations for engineering consulting and pile testing services are recognized at a point in time upon completion of the services. Our performance obligations for term-based software licenses are recognized at a point in time as and when control transfers, either upon delivery to the customer or the software license start date, whichever is later. Our performance obligations for shipping and handling services are satisfied over time as the services are delivered over the term of the contract. We recognize revenue for subscription

 

13


 

and other services on a straight-line basis over the contract period. With regard to support revenue, a time-elapsed method is used to measure progress because we transfer control evenly over the contractual period. Accordingly, the fixed consideration related to support revenue is generally recognized on a straight-line basis over the contract term.

Contract assets and liabilities: The timing of revenue recognition, billing, and cash collection results in the recognition of accounts receivable, unbilled receivables for revenue recognized in excess of billings, and deferred revenue in the condensed consolidated balance sheets. We may receive advances or deposits from our customers before revenue is recognized, resulting in contract liabilities, which are reflected as “deferred revenue” in our condensed consolidated balance sheets. Revenue recognized during the three and nine months ended September 30, 2023 from amounts included in deferred revenue at December 31, 2022 totaled $1.6 million and $10.9 million, respectively.

Cost of revenue consists primarily of costs related to raw materials, equipment manufacturing activities, freight and delivery, product warranty, remediation and personnel costs (salaries, bonuses, benefits, and stock-based compensation). Personnel costs in cost of revenue include both direct labor costs, as well as costs attributable to any individuals whose activities relate to the procurement, installment and delivery of the finished product and services. Cost of revenue owed but not yet paid is recorded as accrued cost of revenue in the accompanying condensed consolidated financial statements. Deferred cost of revenue results from the timing differences between the costs incurred in advance of the satisfaction of all revenue recognition criteria consistent with our revenue recognition policy.

Recent accounting pronouncements adopted

We adopted ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), as amended, effective January 1, 2023. ASU 2016-13 changed the impairment model for most financial assets and requires the use of an expected loss model in place of the previously used incurred loss method. Under this model, we now estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. We did not have a material impact on our condensed consolidated financial statements upon adoption of ASU 2016-13.

 

3. Equity method investment

On February 9, 2023, we entered into a limited liability company agreement (the "LLC Agreement") with Taihua New Energy (Thailand) Co., LTD ("Taihua"), a leading steel fabricator and an existing vendor, and DAYV LLC, for the creation of Alpha Steel LLC ("Alpha Steel"), a Delaware limited liability company dedicated to producing steel components, including torque tubes, for utility-scale solar projects. The Alpha Steel facility, which is located outside of Houston in Sealy, Texas, is expected to begin commercial production in the fourth quarter of 2023.

We entered into amendment no. 1 to the Alpha Steel LLC Agreement with Taihua and DAYV LLC on July 28, 2023, to allow for members at their option, and with the approval of the Board of Managers, to make payments in respect of Alpha Steel’s contractual obligations in the event that Alpha Steel does not or is not able to make such payments from its own resources (“Credit Support Payments”). Any such Credit Support Payments will be treated as capital contributions by the members to Alpha Steel, with any member funding more than its ratable share of Credit Support Payments being deemed to have loaned such excess to each underfunding member at the U.S. prime rate plus 2%.

Alpha Steel is intended to enhance our domestic supply chain, our ability to support our customers and the growth of the U.S. solar market, with domestic manufacturing utilizing U.S. steel. We have a 45% interest in Alpha Steel, which is accounted for under the equity method of accounting. Taihua has a 51% interest in Alpha Steel and DAYV LLC, an entity owned by members of the Board of Managers of Alpha Steel and a related party with the parent company of Taihua, has a 4% interest in Alpha Steel. The Chief Executive Officer of Taihua is the General Manager of Alpha Steel. We have equal voting representation with Taihua and DAYV LLC, combined, on Alpha Steel's Board of Managers which will be responsible, through majority vote, for making certain "major decisions" involving Alpha Steel, as specified in the LLC Agreement, including, among other things, approval of an annual business plan.

As of September 30, 2023, we made a required initial capital contribution to Alpha Steel of $0.9 million. Pursuant to the LLC Agreement, we could be required to make up to $2.6 million in additional capital contributions as Alpha Steel expands production. Alpha Steel had no operating revenue during the three and nine months ended September 30, 2023. We did, however, recognize a loss of $0.3 million from this unconsolidated subsidiary during the three and nine months ended September 30, 2023, reflecting our share of certain administrative and other expenses incurred to date.

 

14


 

In connection with the creation of Alpha Steel, we also entered into a three-year equipment supply agreement (the "Supply Agreement") with Alpha Steel, the terms of which will apply to our equipment purchase orders, including specified minimum purchase amounts for each twelve-month period during the term of the Supply Agreement, following commencement of production. The Supply Agreement may be terminated early in accordance with its provisions or may be extended beyond the initial term if mutually agreed to by the parties.

 

4. Reduction in force

In August 2023, we restructured and combined selected indirect and administrative functions in order to better control and manage our overhead costs in relation to current market conditions, including the impact of start-up delays for certain customer projects. This effort resulted in a reduction of 21 employees, including certain members of our executive leadership team, or approximately 9% of our existing headcount at that time. In connection with this effort, we recognized severance and termination-related costs as follows:

(in thousands)

 

For the three and nine months ended September 30, 2023

 

Cost of revenue

 

$

252

 

Research and development

 

 

154

 

Selling and marketing

 

 

169

 

General and administrative

 

 

1,513

 

Total

 

$

2,088

 

At September 30, 2023, we had an accrual totaling approximately $1.2 million relating to costs still to be paid to our former employees.

 

5. ATM program

On September 14, 2022, we filed a prospectus supplement and entered into an equity distribution agreement (as amended from time to time, the "EDA") under which we may from time to time, in one or more transactions, offer and sell newly issued shares of our common stock having an aggregate offering price of up to $100 million in "at the money" offerings (the "ATM program"). We have and intend to continue to use the net proceeds from this offering for general corporate purposes, including working capital and operating expenses. We may also use a portion of such proceeds to acquire or invest in businesses, products, services or technologies.

Credit Suisse Securities (USA) LLC served as our initial sales agent under the EDA until August 9, 2023, when that role was assumed by Barclays Capital Inc. ("Barclays") pursuant to an amendment to the EDA. The offering of our common stock under the EDA will terminate upon the earlier of (1) the sale of all common stock subject to the EDA or (2) the termination of the EDA by us or by Barclays as permitted therein. The EDA contains customary representations, covenants and indemnification provisions.

Under the ATM program, we sold 6,149,885 and 15,421,885 shares of newly issued common stock valued at $10.7 million and $35.1 million, respectively (for proceeds, net of commissions and fees, of approximately $10.4 million and $34.0 million, respectively), during the three and nine months ended September 30, 2023. As of September 30, 2023, approximately $64.9 million of capacity remained for future sales of our common stock under the ATM program.

 

 

15


 

6. Accounts receivable, net

Accounts receivable consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Trade receivables

 

$

49,963

 

 

$

35,367

 

Related party receivables

 

 

777

 

 

 

 

Revenue recognized in excess of billings

 

 

26,115

 

 

 

14,844

 

Other receivables

 

 

6

 

 

 

25

 

Total

 

 

76,861

 

 

 

50,236

 

Allowance for credit losses

 

 

(5,486

)

 

 

(1,184

)

Accounts receivable, net

 

$

71,375

 

 

$

49,052

 

Information relating to related party receivables at September 30, 2023, may be found below in Note 17, "Related party transactions".

Included in total receivables above are amounts billed under retainage provisions totaling $0.9 million and $3.7 million as of September 30, 2023 and December 31, 2022, respectively, which are due within the next twelve months.

Activity in the allowance for credit losses during the nine months ended September 30, 2023 was as follows:

(in thousands)

 

For the nine months ended September 30, 2023

 

Balance at beginning of period

 

$

1,184

 

Impact of adoption of ASU 2016-13 at beginning of year

 

 

 

Additions charged to earnings during the period

 

 

4,302

 

Balance at end of period

 

$

5,486

 

 

During the three months ended September 30, 2023, we recognized provisions for credit losses totaling $4.1 million.

7. Inventories, net

Inventories consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Finished goods

 

$

5,444

 

 

$

16,269

 

Allowance for slow-moving and obsolete inventory

 

 

(789

)

 

 

(1,320

)

Total

 

$

4,655

 

 

$

14,949

 

 

8. Prepaid and other current assets

Prepaid and other current assets consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Vendor deposits

 

$

5,370

 

 

$

5,085

 

Prepaid expenses

 

 

2,171

 

 

 

3,544

 

Prepaid taxes

 

 

250

 

 

 

163

 

Deferred cost of revenue

 

 

997

 

 

 

 

Surety collateral

 

 

1

 

 

 

107

 

Other current assets

 

 

4,679

 

 

 

1,405

 

Total

 

$

13,468

 

 

$

10,304

 

At September 30, 2023, other current assets included $3.5 million of (i) a short-term, interest-bearing loan to a customer, as well as (ii) a non-interest-bearing customer advance, both of which are for pre-project construction financing activities. These amounts are secured by customer assets and, additionally in one case by a financial guarantee.

 

16


 

9. Leases

We lease office and warehouse space in various locations, including our corporate headquarters in Austin, Texas. Additionally, we lease space for an applications laboratory in Austin, Texas and have a membership in a collaborative research facility in Colorado. During the nine months ended September 30, 2023, we also leased space (i) in Seguin, Texas for a research and development facility that we began using in the third quarter of 2023 as a replacement for the collaborative research facility in Colorado, (ii) for new offices in India and South Africa and (iii) for employee housing in Australia. All of our manufacturing is outsourced to contract manufacturing partners, and we currently do not own or lease any manufacturing facilities.

Our lease expense consisted of the following:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Operating lease cost

 

$

251

 

 

$

166

 

 

$

748

 

 

$

550

 

Short-term lease cost

 

 

132

 

 

 

122

 

 

 

334

 

 

 

332

 

Total lease cost

 

$

383

 

 

$

288

 

 

$

1,082

 

 

$

882

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reported in:

 

 

 

 

 

 

 

 

 

 

 

 

Cost of revenue

 

$

245

 

 

$

164

 

 

$

710

 

 

$

522

 

Research and development

 

 

14

 

 

 

11

 

 

 

40

 

 

 

33

 

Selling and marketing

 

 

24

 

 

 

12

 

 

 

62

 

 

 

25

 

General and administrative

 

 

100

 

 

 

101

 

 

 

270

 

 

 

302

 

Total lease cost

 

$

383

 

 

$

288

 

 

$

1,082

 

 

$

882

 

Future remaining operating lease payment obligations were as follows:

(in thousands)

 

September 30,
2023

 

Remainder of 2023

 

$

219

 

2024

 

 

818

 

2025

 

 

755

 

2026

 

 

219

 

2027

 

 

192

 

Thereafter

 

 

16

 

Total lease payments

 

 

2,219

 

Less: imputed interest

 

 

(167

)

Present value of operating lease liabilities

 

$

2,052

 

 

 

 

 

Current portion of operating lease liability

 

$

742

 

Operating lease liability, net of current portion

 

 

1,310

 

Present value of operating lease liabilities

 

$

2,052

 

 

10. Property and equipment, net

Property and equipment consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Leasehold improvements

 

$

157

 

 

$

22

 

Field equipment

 

 

1,012

 

 

 

1,078

 

Information technology equipment

 

 

440

 

 

 

355

 

Tooling

 

 

953

 

 

 

824

 

Capitalized software

 

 

495

 

 

 

250

 

Total

 

 

3,057

 

 

 

2,529

 

Accumulated depreciation

 

 

(1,372

)

 

 

(827

)

Property and equipment, net

 

$

1,685

 

 

$

1,702

 

 

 

17


 

Depreciation expense recognized for the three and nine months ended September 30, 2023, totaled $0.2 million and $0.6 million, respectively. Depreciation expense recognized for the three and nine months ended September 30, 2022, totaled $0.2 million and $0.4 million, respectively.

 

11. Intangible assets, net and goodwill

Intangible assets consisted of the following:

(in thousands)

 

Estimated Useful Lives (Years)

 

September 30, 2023

 

 

December 31, 2022

 

Developed technology

 

2.5 3.0

 

$

2,515

 

 

$

2,591

 

Total

 

 

 

 

2,515

 

 

 

2,591

 

Accumulated amortization

 

 

 

 

(1,858

)

 

 

(1,478

)

Intangible assets, net

 

 

 

$

657

 

 

$

1,113

 

Amortization expense recognized for the three and nine months ended September 30, 2023, totaled $0.1 million and $0.4 million, respectively. Amortization expense recognized for the three and nine months ended September 30, 2022, totaled $0.1 million.

During the nine months ended September 30, 2023, activity in our goodwill balance was as follows:

(in thousands)

 

 

 

 

 

Nine months ended September 30, 2023

 

Balance at December 31, 2022

 

 

 

 

 

$

7,538

 

Translation

 

 

 

 

 

 

(395

)

Balance at September 30, 2023

 

 

 

 

 

$

7,143

 

 

12. Debt

On April 30, 2021, we entered into an agreement for our Credit Facility with various lenders, including Barclays Bank PLC, as issuing lender, the swingline lender and as administrative agent (the "Credit Facility Agreement") providing aggregate commitments of up to $100.0 million. We have not made any draws on our Credit Facility as of September 30, 2023. However, as of September 30, 2023, we had $2.0 million in letters of credit outstanding that reduced our available borrowing capacity to approximately $98.0 million.

On June 7, 2023, we entered into Amendment No. 3 to our Credit Facility Agreement with Barclays Bank PLC, pursuant to the occurrence of an Early Opt-in Election, to replace USD LIBOR with the secured overnight financing rate (SOFR) as the benchmark rate for future term loans (“Term SOFR”) under the Credit Facility Agreement. No other material changes were made to the Credit Facility Agreement as part of this amendment.

We are required to maintain a liquidity level (defined as unrestricted cash and cash equivalents plus the available borrowing capacity under the Credit Facility) of no less than $125.0 million at each quarter end in order to utilize the Credit Facility. As of September 30, 2023, we were over the required minimum liquidity level thus allowing us to continue to access our Credit Facility up to the available borrowing capacity, pending the measurement of our liquidity level again at the end of the next fiscal quarter.

 

 

18


 

13. Accrued expenses and other current liabilities

Accrued expenses and other current liabilities consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Accrued cost of revenue

 

$

19,923

 

 

$

13,198

 

Related party accrued cost of revenue

 

 

1,304

 

 

 

 

Accrued compensation

 

 

1,666

 

 

 

4,688

 

Other accrued expenses

 

 

2,885

 

 

 

6,010

 

Total accrued expenses

 

$

25,778

 

 

$

23,896

 

 

 

 

 

 

 

 

Warranty reserves

 

$

7,738

 

 

$

8,004

 

Current portion of operating lease liability

 

 

742

 

 

 

417

 

Non-federal tax obligations

 

 

109

 

 

 

463

 

Total other current liabilities

 

$

8,589

 

 

$

8,884

 

Information relating to related party accruals at September 30, 2023, may be found below in Note 17, "Related party transactions".

Other accrued expenses primarily include amounts due for (i) legal and other costs associated with outstanding legal matters and (ii) other professional services.

We provide standard warranties on our hardware products to customers. The liability amount is based on actual historical warranty spending activity by type of product, customer and geographic region, modified by any known differences such as the impact of expected remediation activities or reliability improvements.

Activity by period in the Company's warranty accruals was as follows:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Balance at beginning of period

 

$

12,081

 

 

$

11,444

 

 

$

12,426

 

 

$

9,346

 

Warranties issued during the period(a)

 

 

1,086

 

 

 

3,190

 

 

 

3,938

 

 

 

7,374

 

Settlements made during the period

 

 

(847

)

 

 

(1,759

)

 

 

(3,184

)

 

 

(3,139

)

Changes in liability for pre-existing warranties

 

 

(363

)

 

 

(92

)

 

 

(1,223

)

 

 

(798

)

Balance at end of period

 

$

11,957

 

 

$

12,783

 

 

$

11,957

 

 

$

12,783

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Warranty accruals are reported in:

 

 

 

 

 

 

 

 

 

 

 

 

Other current liabilities

 

$

7,738

 

 

$

8,304

 

 

$

7,738

 

 

$

8,304

 

Other non-current liabilities

 

 

4,219

 

 

 

4,479

 

 

 

4,219

 

 

 

4,479

 

Balance at end of period

 

$

11,957

 

 

$

12,783

 

 

$

11,957

 

 

$

12,783

 

(a)  Inclusive of accruals for expected remediation activities

 

 

 

 

 

 

 

 

 

 

 

 

 

14. Income taxes

For the three months ended September 30, 2023 and 2022 we recorded income tax expense of $0.17 million and an income tax benefit of $0.15 million respectively. For the nine months ended September 30, 2023 and 2022, we recorded income tax expense of $0.18 million and $0.02 million, respectively. These amounts for each period were lower than the statutory rate of 21%, primarily due to a valuation allowance established against the U.S. deferred tax assets.

We have had no material change in our unrecognized tax benefits since December 31, 2022. We recognize accrued interest and penalties related to unrecognized tax benefits as a component of income tax expense. As of September 30, 2023 and December 31, 2022, we had no accrued interest or penalties related to unrecognized tax benefits.

 

 

19


 

15. Commitments and contingencies

We may become involved in various claims, lawsuits, investigations, and other proceedings, arising in the normal course of business. We accrue a liability when information available prior to the issuance of our financial statements indicates it is probable a loss has been incurred as of the date of the financial statements and the amount of loss can be reasonably estimated. If the reasonable estimate of the probable loss is a range, we record an accrual for the most likely estimate of the loss, or the low end of the range if there is no one best estimate. We adjust our accruals to reflect the impact of negotiation, settlements, rulings, advice of legal counsel and other information and events pertaining to a particular case. Legal costs are expensed as incurred.

In March of 2023, CBP issued notices of tariff assessment that indicated an action taken at the Import Specialist (i.e., the port) level with respect to merchandise imported from Thailand under entry number 004-1058562-5 (the “625 Assessment”) and entry number 004-1063793-9 (the “Original 939 Assessment”, and collectively with the 625 Assessment, the “Original CBP Assessments”). The Original CBP Assessments related to certain torque beams that are used in our Voyager+ product that were imported in 2022. In the Original CBP Assessments, CPB asserted that Section 301 China tariffs, Section 232 steel & aluminum tariffs, and antidumping and countervailing duties applied to the merchandise. Based on correspondence received to date from CBP and our calculations based on applicable duty and tariff rates, the 625 Assessment is currently for approximately $2.16 million. In September of 2023, CBP informed us (the "Revised 939 Assessment", and together with the 625 Assessment, the "Revised CBP Assessments") that the amount owed under the Original 939 Assessment was being revised downward to approximately $2.01 million. In particular, CBP accepted our position that the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, previously assessed under the Original 939 Assessment are not applicable as they are only applicable to articles that originate in China and that, in this case, the finished goods are products of Thailand.

Upon review of the facts involved, and in consultation with outside legal counsel, we believe that the remaining amounts claimed in the Revised CBP Assessments are incorrect. In particular, the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, are not applicable under the 625 Assessment for the same reason stated above with respect to the Revised 939 Assessment, which has been accepted by CBP. Moreover, with respect to both Revised CBP Assessments, we believe that the goods in question were properly classified as parts of structures at the time of importation and that when properly classified, the beams and other materials are not subject to Section 232 duties applicable to more basic steel products.

CBP has legally finalized both Revised CBP Assessments. We filed a formal protest for the 625 Assessment in September of 2023 and plan to do the same for the Revised 939 Assessment. Based on the above, and under the relevant accounting guidance related to loss contingencies, we have made no accrual for the amounts claimed by CBP as of September 30, 2023, as we do not consider these amounts to be a probable obligation, as such term is defined and interpreted under the relevant accounting guidance, for us at this time. However, because matters of this nature are subject to inherent uncertainties, and unfavorable rulings or developments, including future assessments of additional duties or tariffs owed in respect of other shipments or other materials beyond what is presently included in the Revised CBP Assessments, could occur despite our belief that the tariffs and duties asserted are incorrect, there can be no certainty that the Company may not ultimately incur charges that are not currently recorded as liabilities. Since the outcome of these matters cannot be predicted with certainty, the costs associated with them could have a material adverse effect on our consolidated results of operations, financial position, or liquidity.

 

16. Stock-based compensation

Stock compensation expense for each period was as follows:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Cost of revenue

 

$

181

 

 

$

1,153

 

 

$

1,313

 

 

$

2,521

 

Research and development

 

 

85

 

 

 

487

 

 

 

449

 

 

 

1,134

 

Selling and marketing

 

 

166

 

 

 

598

 

 

 

821

 

 

 

1,630

 

General and administrative

 

 

760

 

 

 

5,269

 

 

 

6,461

 

 

 

9,970

 

Total stock compensation expense

 

$

1,192

 

 

$

7,507

 

 

$

9,044

 

 

$

15,255

 

 

 

20


 

17. Related party transactions

Transaction with Ayna.AI LLC

In February 2022, we engaged Ayna.AI LLC (as successor in interest to Fernweh Engaged Operator Company LLC) (“Ayna”) to support us with improvements to our processes and performance in various areas including design, sourcing, logistics, pricing, software and standard configuration. The consideration for this engagement was a combination of cash and stock options, including options that vested over time, as well as options with vesting tied to certain performance metrics. The foregoing engagement constituted a related party transaction as South Lake One LLC, an entity affiliated with Isidoro Quiroga Cortés, a member of our board of directors, and a holder of more than 5% of our outstanding capital stock, is an investor in Ayna. In addition, Discrimen LLC is an investor in Ayna, and Isidoro Quiroga Cortés is affiliated with that entity. Isidoro Quiroga Cortés is also on the board of directors of Ayna.

On September 13, 2023, we executed a termination of the master services agreement and statement of work (collectively, the "Service Agreement") with Ayna and Fernweh Group LLC, the parent company of Fernweh Engaged Operator Company LLC, which resulted in a forfeiture of 2,000,000 unvested stock options that were part of the initial consideration for the engagement. Due to the accelerated timing of the payments required for the cash portion of the initial consideration and the expected service period over which the engagement was estimated to last, we had unamortized prepaid balances remaining at the termination date totaling approximately $3.2 million. These prepaid balances were fully amortized during the three months ended September 30, 2023 as a charge to general and administrative expense. In addition, approximately $1.1 million of stock-based compensation expense previously recognized on the unvested stock options was reversed during the three months ended September 30, 2023 in connection with their forfeiture. An additional 1,000,000 options to purchase shares of common stock at an exercise price of $3.86 per share were fully vested and exercisable as of the termination date.

For the three and nine months ended September 30, 2023, we incurred $2.1 million and $3.5 million, respectively, of general and administrative expense associated with our engagement of Ayna, inclusive of the amounts described above. Cash payments to Ayna in 2023 prior to the termination of the Service Agreement totaled $2.5 million. During the three and nine months ended September 30, 2022, we incurred $0.9 million and $3.0 million, respectively, of general and administrative expenses and made cash payments totaling $1.7 million during the nine months ended September 30, 2022.

Repurchase of common stock and issuance of RSUs

Effective July 5, 2023, we agreed to acquire 312,500 shares of our outstanding common stock held by ARC Family Trust, a related party and greater than 10% shareholder, for no monetary consideration. The acquired shares were then retired. The ARC Family Trust was established by Mr. Ahmad Chatila, a member of our Board of Directors, for the benefit of certain members of his family. Mr. Shaker Sadasivam, the Chairman of our Board of Directors, is the trustee of the ARC Family Trust.

Concurrent with the transaction described above and with the approval of our Board of Directors, we issued 250,000 RSUs to Mr. Tony Alvarez, who was appointed as our Board Observer, effective July 5, 2023, and 62,500 RSUs to Mr. William Aldeen "Dean" Priddy, Jr., a member of our Board of Directors and Chairman of the Audit Committee of the Board. These RSU grants will vest upon the one-year anniversary of the date of grant.

Related party receivables and payables

We have related party receivables at September 30, 2023, totaling $0.8 million for future material costs discounts contractually owed to us by Alpha Steel in connection with the expected receipt of manufacturing incentives available to Alpha Steel under the Inflation Reduction Act as costs are incurred by Alpha Steel to purchase raw materials and manufacture torque tubes and other products that will be used to fulfill purchase orders we issue to Alpha Steel.

We also have related party payables to Alpha Steel at September 30, 2023, totaling $1.3 million for the accrued cost of revenue recognized on certain of our customer projects associated with the cost of products that are being manufactured for us by Alpha Steel.

 

 

21


 

18. Net loss per share

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

 

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Net loss (in thousands)

 

$

(16,937

)

 

$

(25,636

)

 

$

(39,113

)

 

$

(79,112

)

Weighted average shares outstanding for calculating basic and diluted loss per share

 

 

119,793,821

 

 

 

102,164,455

 

 

 

112,794,562

 

 

 

100,642,126

 

Basic and diluted loss per share

 

$

(0.14

)

 

$

(0.25

)

 

$

(0.35

)

 

$

(0.79

)

For purposes of computing diluted loss per share, weighted average common shares outstanding do not include potentially dilutive securities that are anti-dilutive, as shown below.

 

 

For the three and nine months ended September 30,

 

 

 

2023

 

 

2022

 

Anti-dilutive securities excluded from calculating dilutive loss per share:

 

 

 

 

 

 

Shares of common stock issuable under stock option plans outstanding

 

 

3,048,139

 

 

 

7,407,333

 

Shares of common stock issuable upon vesting of RSUs

 

 

7,982,821

 

 

 

7,603,064

 

Potential common shares excluded from diluted net loss per share calculation

 

 

11,030,960

 

 

 

15,010,397

 

 

 

22


 

ITEM 2. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our condensed consolidated financial statements and related notes included in Item 1 of this Form 10-Q and along with information included in our 2022 Annual Report. In addition to historical financial information, the following discussion contains forward-looking statements that involve risks and uncertainties. Our actual results could differ materially from such forward-looking statements. Factors that could cause or contribute to those differences include, but are not limited to, those identified below and those discussed in Part I, Item 1A. "Risk Factors" included in our 2022 Annual Report. Additionally, our historical results are not necessarily indicative of the results that may be expected in any future period.

This discussion and analysis of our financial condition and results of operations contain the presentation of Adjusted EBITDA, Adjusted Net Loss and Adjusted EPS, which are not presented in accordance with U.S. GAAP. Adjusted EBITDA, Adjusted Net Loss and Adjusted EPS are being presented because they provide the Company and readers of this Form 10-Q with additional insight into our operational performance relative to earlier periods and relative to our competitors. We do not intend Adjusted EBITDA, Adjusted Net Loss and Adjusted EPS to be substitutes for any U.S. GAAP financial information. Readers of this Form 10-Q should use Adjusted EBITDA, Adjusted Net Loss and Adjusted EPS only in conjunction with Net Loss and Net Loss per Share, the most comparable U.S. GAAP financial measures. Reconciliations of Adjusted EBITDA, Adjusted Net Loss and Adjusted EPS to Net Loss and Net Loss per Share, the most comparable U.S. GAAP measures, are provided in "Non-GAAP Financial Measures" below.

Overview

FTC Solar, Inc. (the “Company”, “we”, “our”, or “us”) was founded in 2017 and is incorporated in the state of Delaware. In April 2021, we completed an initial public offering ("IPO"), and our common stock began trading on the Nasdaq Global Market under the symbol “FTCI”.

We are a global provider of solar tracker systems, supported by proprietary software and value-added engineering services. Solar tracker systems move solar panels throughout the day to maintain an optimal orientation relative to the sun, thereby increasing the amount of solar energy produced at a solar installation. Our original tracker system is currently marketed under the Voyager brand name (“Voyager”), which is our two-panel in-portrait ("2P") single-axis tracker solution. In September 2022, we announced the introduction of Pioneer, our new one module-in-portrait ("1P") solar tracker solution. We have also launched a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules by project owners and, in August 2023, we introduced SUNOPS, a cloud-based, tracker-agnostic solar asset monitoring solution allowing asset owners and managers to evaluate the operation and performance of their solar deployments. In addition, we have a team of renewable energy professionals available to assist our U.S. and worldwide clients in site layout, structural design, pile testing and other needs across the solar project development and construction cycle. The Company is headquartered in Austin, Texas, and has international subsidiaries in Australia, China, India and South Africa.

We are an emerging growth company, as defined in the Jumpstart Our Business Startups (JOBS) Act. Under the JOBS Act, we elected to use the allowed extended transition period to delay adopting new or revised accounting standards until such time as those standards apply to private companies.


Key Factors Affecting Our Performance

Government Regulations. Changes in the U.S. trade environment, including the imposition of import tariffs, AD/CVD investigations and the UFLPA, which became effective in June 2022, can have an impact on the timing of developer projects. The UFLPA resulted in new rules for module importers and reviews by CBP. There is currently uncertainty in the market around achieving full compliance with UFLPA, whether related to sufficient traceability of materials or other factors. Escalating trade tensions, particularly between the United States and China, have led to increased tariffs and trade restrictions, including tariffs applicable to certain raw materials and components for our products. We have taken measures with the intention of mitigating the effect of tariffs and the impact of AD/CVD and UFLPA on our business by reducing our reliance on China and enhancing our U.S.-based supply chain, including through our investment in Alpha Steel, as described further in Note 3, "Equity method investment" in Part I, Item 1 of this Form 10-Q. In 2019, 90% of our supply chain was sourced from China. As of September 30, 2023, we have qualified suppliers outside of China for certain of our commodities and we continue to work to reduce the extent to which our supply chain for U.S.-based projects is subject to existing tariffs. We have entered into partnerships with manufacturers in the United States, Mexico, Canada, Spain, Brazil, Turkey, Saudi Arabia, India, Thailand, Vietnam and Korea to diversify our supply chain and optimize costs. On June 6, 2022, President Biden issued a proclamation allowing U.S. solar deployers to

 

23


 

import solar modules and cells from Cambodia, Malaysia, Thailand and Vietnam free from certain duties for 24 months, along with other incentives designed to accelerate U.S. domestic production of clean energy technologies.

The most notable incentive program impacting our U.S. business has been the ITC for solar energy projects, which allows taxpayers to offset their U.S. federal income tax liability by a certain percentage of their cost basis in solar energy systems placed in service for commercial use. The Inflation Reduction Act of 2022, passed by the U.S. Congress and signed into law by President Biden on August 16, 2022, expanded and extended the tax credits and other tax benefits available to solar energy projects and the solar energy supply chain. ITCs have been extended for such projects through at least 2032 and, depending on the location of a particular project and its ability to satisfy certain labor and domestic content requirements, the ITC percentage can range between 30% and 50%. U.S. manufacturers of specific solar components are now eligible to claim production tax credits as an alternative to the ITC. Implementing regulations for this law are still being finalized. We believe this law will bolster and extend future demand for our products in the United States, however as the implementing regulations for this law are not completely finalized, this creates uncertainty about the extent of its impact on our Company and the solar energy industry.

Disruptions in Transportation and Supply Chain. Our costs are affected by the costs of certain components and materials, such as steel, motors and micro-chips, as well as transportation costs. Current market conditions and international conflicts that constrain the supply of materials and disrupt the flow of materials from international vendors impact the cost of our products and services, along with overall rates of inflation in the global economy, which have been higher than pre-COVID 19 pandemic historical rates. Transportation costs, including ocean freight and U.S. domestic haul rates, increased at the beginning of the COVID-19 pandemic but have since returned to pre-pandemic rates. Domestic fuel prices, however, continue to be elevated compared to pre-pandemic rates. Additionally, COVID-19 shutdowns in China during 2022 created a backlog of exports and increased demand for container shipments from China, but such shutdowns have since been eased by the Chinese government. These cost increases and decreases impact our operating margins. We have taken steps to expand and diversify our manufacturing partnerships and have adjusted our modes of transportation to mitigate the impact of headwinds that arise in the global supply chain and logistics markets. As an example, we have modified our ocean freight from previously using charter shipments to now using containerized shipments as costs in the container market began to decrease in 2022. We continue to monitor the logistics markets and will continue to evaluate our use of various modes of transportation when warranted to optimize our transportation costs. Additionally, from February 2022 to September 2023, we utilized a related-party consulting firm to support us in making improvements to our processes and performance in various areas, including design, sourcing, logistics, pricing, software and our distributed generation business. Further information may be found in Note 17, "Related party transactions" in Part I, Item 1 of this Form 10-Q with regard to the related-party consulting firm. We intend to maintain a sharp focus on our design-to-value initiative to continue to improve margins by reducing manufacturing and material costs of our products.

Megawatts ("MW") Produced and MW Shipped and Average Selling Price ("ASP"). The primary operating metrics we use to evaluate our sales performance and to track market acceptance of our products are the change in quantity of MW produced and MW shipped from period to period. MW are measured for each individual project and are calculated based on the expected output of that project once installed and fully operational. We also utilize metrics related to price and cost of goods sold per watt, including the change in ASP from period to period and cost per watt. ASP is calculated by dividing product and service revenue by total watts produced or shipped and product and service cost per watt is calculated by dividing product or service costs of goods sold by total watts produced or shipped. These metrics enable us to evaluate trends in pricing, manufacturing and logistics costs and profitability. Events such as the COVID-19 pandemic, global inflation rates and international conflicts have in the past impacted and may continue to impact the U.S. economy, global supply chains, and our business. These impacts can cause significant shipping delays and cost increases, as well as offsetting ASP increases, and also raise the price of inputs like steel and logistics, affecting our cost per watt.

Investment in Technology and Personnel. We invest in both the people and technology behind our products. We intend to continue making significant investments in the technology for our products and expansion of our patent portfolio to attract and retain customers, expand the capabilities and scope of our products, and enhance user experience. As an example, in August 2023, we introduced SUNOPS, a cloud-based, tracker-agnostic solar asset monitoring solution allowing asset owners and managers to evaluate the operation and performance of their solar deployments. We also intend over time to make significant investments to attract and retain employees in key positions, including sales leads, engineers, software developers, quality assurance personnel, supply chain personnel, product management, and operations personnel, to help us drive additional efficiencies across our marketplace and, in the case of sales leads, to continue to enhance and diversify our sales capabilities, including international expansion.

Impact of Climate Change. Climate change has primarily impacted our business operations by increasing demand for solar power generation and, as a result, for use of our products. While climate change has not resulted in any material negative impact to our operations to date, we recognize the risk of disruptions to our supply chain due to extreme weather events. This has led us to expand the diversity of our supplier base and to partner with more local suppliers to reduce shipping and transportation needs. We are also increasingly partnering

 

24


 

with larger scale steel producers rather than smaller suppliers to facilitate scaling of our operations while remaining conscious of the environmental impacts of steel manufacturing as the regulatory landscape around these high-emitting industries evolves. An example of this is our investment in Alpha Steel, a U.S.-based manufacturing partnership with Taihua, a leading steel fabricator.

We also attempt to mitigate the climate-related risks from the use of our products by designing our equipment and systems to have a high-slope tolerance and wind mitigation capabilities, while at the same time reducing the required foundation/pile count needed. This allows our trackers to be installed in increasingly hostile environments with minimal disturbance to the surrounding land.

Liquidity. See "Liquidity and Capital Resources" below for a discussion of the impact of the items above on our liquidity position.

Non-GAAP Financial Measures

Adjusted EBITDA, adjusted net loss and adjusted earnings per share ("EPS")

We utilize Adjusted EBITDA, Adjusted Net Loss, and Adjusted EPS as supplemental measures of our performance. We define Adjusted EBITDA as net loss plus (i) provision for (benefit from) income taxes, (ii) interest expense, net, (iii) depreciation expense, (iv) amortization of intangibles, (v) stock-based compensation, and (vi) non-routine legal fees, severance and certain other costs (credits). We also deduct the contingent gains from the disposal of our investment in an unconsolidated subsidiary from net loss in arriving at Adjusted EBITDA. We define Adjusted Net Loss as net loss plus (i) amortization of debt issue costs and intangibles, (ii) stock-based compensation, (iii) non-routine legal fees, severance and certain other costs (credits), and (iv) the income tax expense (benefit) of those adjustments, if any. We also deduct the contingent gains from the disposal of our investment in an unconsolidated subsidiary in arriving at Adjusted Net Loss. Adjusted EPS is defined as Adjusted Net Loss on a per share basis using our weighted average diluted shares outstanding.

Adjusted EBITDA, Adjusted Net Loss, and Adjusted EPS are intended as supplemental measures of performance that are neither required by, nor presented in accordance with, U.S. GAAP. We present Adjusted EBITDA, Adjusted Net Loss and Adjusted EPS, because we believe they assist investors and analysts in comparing our performance across reporting periods on an ongoing basis by excluding items that we do not believe are indicative of our core operating performance. In addition, we use Adjusted EBITDA, Adjusted Net Loss and Adjusted EPS to evaluate the effectiveness of our business strategies.

Among other limitations, Adjusted EBITDA, Adjusted Net Loss, and Adjusted EPS do not reflect (i) our cash expenditures, or future requirements, for capital expenditures or contractual commitments, and (ii) the impact of certain cash charges resulting from matters we consider not to be indicative of our ongoing operations. Further, the adjustments noted in Adjusted EBITDA do not reflect the impact of any income tax expense or benefit. Additionally, other companies in our industry may calculate Adjusted EBITDA, Adjusted Net Loss, and Adjusted EPS differently than we do, which limits its usefulness as a comparative measure.

Because of these limitations, Adjusted EBITDA, Adjusted Net Loss, and Adjusted EPS should not be considered in isolation or as substitutes for performance measures calculated in accordance with U.S. GAAP, and you should not rely on any single financial measure to evaluate our business. These non-GAAP financial measures, when presented, are reconciled to the most closely applicable U.S. GAAP measure as disclosed below:

 

25


 

 

 

Three months ended September 30,

 

 

 

2023

 

 

2022

 

(in thousands, except shares and per share data)

 

Adjusted EBITDA

 

 

Adjusted Net Loss

 

 

Adjusted EBITDA

 

 

Adjusted Net Loss

 

Net loss per U.S. GAAP

 

$

(16,937

)

 

$

(16,937

)

 

$

(25,636

)

 

$

(25,636

)

Reconciling items -

 

 

 

 

 

 

 

 

 

 

 

 

Provision for (benefit from) income taxes

 

 

166

 

 

 

 

 

 

(151

)

 

 

 

Interest expense, net

 

 

108

 

 

 

 

 

 

160

 

 

 

 

Amortization of debt issue costs in interest expense

 

 

 

 

 

177

 

 

 

 

 

 

177

 

Depreciation expense

 

 

205

 

 

 

 

 

 

182

 

 

 

 

Amortization of intangibles

 

 

133

 

 

 

133

 

 

 

135

 

 

 

135

 

Stock-based compensation

 

 

1,192

 

 

 

1,192

 

 

 

7,507

 

 

 

7,507

 

Gain from disposal of investment in unconsolidated subsidiary(a)

 

 

 

 

 

 

 

 

(1,408

)

 

 

(1,408

)

Non-routine legal fees(b)

 

 

98

 

 

 

98

 

 

 

842

 

 

 

842

 

Severance(c)

 

 

2,088

 

 

 

2,088

 

 

 

311

 

 

 

311

 

Other costs(d)

 

 

3,241

 

 

 

3,241

 

 

 

324

 

 

 

324

 

Adjusted Non-GAAP amounts

 

$

(9,706

)

 

$

(10,008

)

 

$

(17,734

)

 

$

(17,748

)

 

 

 

 

 

 

 

 

 

 

 

 

 

U.S. GAAP net loss per share:

 

 

 

 

 

 

 

 

 

 

 

 

Diluted

 

N/A

 

 

$

(0.14

)

 

N/A

 

 

$

(0.25

)

 

 

 

 

 

 

 

 

 

 

 

 

 

Adjusted Non-GAAP net loss per share (Adjusted EPS):

 

 

 

 

 

 

 

 

 

 

 

 

Diluted

 

N/A

 

 

$

(0.08

)

 

N/A

 

 

$

(0.17

)

 

 

 

 

 

 

 

 

 

 

 

 

 

Weighted-average common shares outstanding:

 

 

 

 

 

 

 

 

 

 

 

 

Diluted

 

N/A

 

 

 

119,793,821

 

 

N/A

 

 

 

102,164,455

 

 

(a)

Our management excludes the gain from collections of contingent contractual amounts arising from the sale in 2021 of our investment in an unconsolidated subsidiary.

(b)

Non-routine legal fees represent legal fees and other costs incurred for specific matters that were not ordinary or routine to the operations of the business.

(c)

Severance costs were incurred in 2023 and 2022 due to restructuring changes.

(d)

Other costs in 2023 included the write-off of remaining prepaid costs resulting from the termination of our consulting agreement with a related party, as described further in Note 17 in Part I, Item 1 above. Other costs in 2022 included a second installment payment relating to a CEO transition event that occurred in 2021, as well as professional fees associated with our IPO.

 

 

26


 

 

 

Nine months ended September 30,

 

 

 

2023

 

 

2022

 

(in thousands, except shares and per share data)

 

Adjusted EBITDA

 

 

Adjusted Net Loss

 

 

Adjusted EBITDA

 

 

Adjusted Net Loss

 

Net loss per U.S. GAAP

 

$

(39,113

)

 

$

(39,113

)

 

$

(79,112

)

 

$

(79,112

)

Reconciling items -

 

 

 

 

 

 

 

 

 

 

 

 

Provision for income taxes

 

 

175

 

 

 

 

 

 

15

 

 

 

 

Interest expense, net

 

 

194

 

 

 

 

 

 

882

 

 

 

 

Amortization of debt issue costs in interest expense

 

 

 

 

 

532

 

 

 

 

 

 

526

 

Depreciation expense

 

 

595

 

 

 

 

 

 

447

 

 

 

 

Amortization of intangibles

 

 

409

 

 

 

409

 

 

 

135

 

 

 

135

 

Stock-based compensation

 

 

9,044

 

 

 

9,044

 

 

 

15,255

 

 

 

15,255

 

Gain from disposal of investment in unconsolidated subsidiary(a)

 

 

(898

)

 

 

(898

)

 

 

(1,745

)

 

 

(1,745

)

Non-routine legal fees(b)

 

 

181

 

 

 

181

 

 

 

5,742

 

 

 

5,742

 

Severance(c)

 

 

2,075

 

 

 

2,075

 

 

 

1,037

 

 

 

1,037

 

Other costs(d)

 

 

3,241

 

 

 

3,241

 

 

 

1,904

 

 

 

1,904

 

Adjusted Non-GAAP amounts

 

$

(24,097

)

 

$

(24,529

)

 

$

(55,440

)

 

$

(56,258

)

 

 

 

 

 

 

 

 

 

 

 

 

 

U.S. GAAP net loss per share:

 

 

 

 

 

 

 

 

 

 

 

 

Diluted

 

N/A

 

 

$

(0.35

)

 

N/A

 

 

$

(0.79

)

 

 

 

 

 

 

 

 

 

 

 

 

Adjusted Non-GAAP net loss per share (Adjusted EPS):

 

 

 

 

 

 

 

 

 

 

 

 

Diluted

 

N/A

 

 

$

(0.22

)

 

N/A

 

 

$

(0.56

)

 

 

 

 

 

 

 

 

 

 

 

 

 

Weighted-average common shares outstanding:

 

 

 

 

 

 

 

 

 

 

 

 

Diluted

 

N/A

 

 

 

112,794,562

 

 

N/A

 

 

 

100,642,126

 

 

(a)

Our management excludes the gain from collections of contingent contractual amounts arising from the sale in 2021 of our investment in an unconsolidated subsidiary.

(b)

Non-routine legal fees represent legal fees and other costs incurred for specific matters that were not ordinary or routine to the operations of the business.

(c)

Severance costs were incurred in 2023 and 2022 due to restructuring changes.

(d)

Other costs in 2023 included the write-off of remaining prepaid costs resulting from the termination of our consulting agreement with a related party, as described further in Note 17 in Part I, Item 1 above. Other costs in 2022 included a second installment payment relating to a CEO transition event that occurred in 2021, as well as certain costs attributable to settlement of stock-based compensation awards resulting from our IPO, professional fees and registration statement filing costs pursuant to our IPO and amounts attributable to our acquisition of HX Tracker.

Key Components of Our Results of Operations

The following discussion describes certain line items in our condensed consolidated statements of comprehensive loss.

Revenue

Revenue from the sale of our solar tracker systems and customized components of those systems is recognized over time, as work progresses, utilizing an input measure of progress determined by cost incurred to date relative to total expected cost on these projects to correlate with our performance in transferring control over the tracker systems and their components. Revenue from the sale of individual parts is recognized at a point in time as and when control transfers based on the terms of the contract. Revenue from sale of term-based software licenses is recognized upon transfer of control to the customer. Revenue for shipping and handling services is recognized over time based on progress in meeting shipping terms of the arrangements. Revenue for stand-alone engineering consulting and pile testing services is recognized at a point in time upon completion of the services performed. Subscription revenue, which is derived from our subscription-based enterprise licensing model, and support revenue, which is derived from ongoing security updates and maintenance, are generally recognized on a straight-line basis over the term of the contract.

Our customers include project developers, solar asset owners and EPC contractors that design and build solar energy projects. For each individual solar project, we enter into a contract with our customers covering the price, specifications, delivery dates and warranty for

 

27


 

the products being purchased, among other things. Our contractual delivery period for our solar tracker systems and related parts can vary depending on size of the project and availability of vessels and other means of delivery. Contracts can range in value from tens of thousands to tens of millions of dollars.

Our revenue is affected by changes in the volume and ASP of our solar tracking systems purchased by our customers and volume of sales of software products and engineering services, among other things. The ASP of our solar tracker systems and quarterly volume of sales is driven by the supply of, and demand for, our products, changes in product mix, geographic mix of our customers, strength of competitors’ product offerings, tariff and import restrictions, supply chain issues and availability of government incentives to the end-users of our products. Additionally, our revenue may be impacted by seasonality due to cold weather, which can cause variability in site construction activity.

The vast majority of our revenue in the periods presented was attributable to sales in the United States and Australia. Our revenue growth is dependent on continued growth in the number of solar tracker projects and engineering services we win in competitive bidding processes and growth in our software sales each year, as well as our ability to increase our market share in each of the geographies in which we currently compete, expand our global footprint to new emerging markets, grow our sources of production to meet demand and continue to develop and introduce new and innovative products that address the changing technology and performance requirements of our customers, among other things.

Cost of revenue and gross profit (loss)

We subcontract with third-party companies to manufacture and deliver our products directly to our customers. Our product costs are affected by the underlying cost of raw materials procured by these contract manufacturers, including steel and aluminum; component costs, including electric motors and gearboxes; technological innovation in manufacturing processes; and our ability to achieve economies of scale resulting in lower component costs. We do not currently hedge against changes in the price of raw materials, but we continue to explore opportunities to mitigate the risks of foreign currency and commodity fluctuations through the use of hedges and foreign exchange lines of credit. Some of these costs, primarily personnel, are not directly affected by sales volume.

We have made changes to our headcount in recent years as we initially scaled up our business and, more recently, made adjustments at the end of 2022 and in August 2023 in response to current project activity levels. Our gross profit may vary period-to-period due to changes in our headcount, ASP, product costs, product mix, customer mix, geographical mix, shipping methods, warranty costs and seasonality.

Operating expenses

Operating expenses consist of research and development expenses, selling and marketing expenses and general and administrative expenses. Personnel-related costs are the most significant component of our operating expenses and include salaries, benefits, bonuses, commissions and stock-based compensation expenses.

We froze non-essential hiring during the latter part of 2022 and implemented reductions in our workforce at the end of 2022 and in August 2023, in response to regulatory and other issues that were negatively impacting our solar project activity levels. In addition, our operating costs have been impacted by (i) our level of research activities to originate, develop and enhance our products, (ii) our sales and marketing efforts as we expand our development activities in other parts of the world, and (iii) variations in legal and professional fees, compliance costs, insurance, facility costs and other costs associated with strategic changes in response to changing market conditions and other matters.

 

28


 

Results of Operations - Three Months Ended September 30, 2023 Compared to Three Months Ended September 30, 2022

 

 

Three months ended September 30,

 

 

 

2023

 

 

2022

 

(in thousands, except percentages)

 

Amounts

 

 

Percentage of revenue

 

 

Amounts

 

 

Percentage of revenue

 

Revenue:

 

 

 

 

 

 

 

 

 

 

 

 

Product

 

$

27,274

 

 

 

89.3

%

 

$

3,543

 

 

 

21.4

%

Service

 

 

3,274

 

 

 

10.7

%

 

 

13,029

 

 

 

78.6

%

Total revenue

 

 

30,548

 

 

 

100.0

%

 

 

16,572

 

 

 

100.0

%

Cost of revenue:

 

 

 

 

 

 

 

 

 

 

 

 

Product

 

 

22,775

 

 

 

74.6

%

 

 

11,411

 

 

 

68.9

%

Service

 

 

4,394

 

 

 

14.4

%

 

 

14,676

 

 

 

88.6

%

Total cost of revenue

 

 

27,169

 

 

 

88.9

%

 

 

26,087

 

 

 

157.4

%

Gross profit (loss)

 

 

3,379

 

 

 

11.1

%

 

 

(9,515

)

 

 

(57.4

%)

Operating expenses

 

 

 

 

 

 

 

 

 

 

 

 

Research and development

 

 

1,921

 

 

 

6.3

%

 

 

2,126

 

 

 

12.8

%

Selling and marketing

 

 

6,324

 

 

 

20.7

%

 

 

1,994

 

 

 

12.0

%

General and administrative

 

 

11,411

 

 

 

37.4

%

 

 

13,059

 

 

 

78.8

%

Total operating expenses

 

 

19,656

 

 

 

64.3

%

 

 

17,179

 

 

 

103.7

%

Loss from operations

 

 

(16,277

)

 

 

(53.3

%)

 

 

(26,694

)

 

 

(161.1

%)

Interest expense, net

 

 

(108

)

 

 

(0.4

%)

 

 

(160

)

 

 

(1.0

%)

Gain from disposal of investment in unconsolidated subsidiary

 

 

 

 

 

0.0

%

 

 

1,408

 

 

 

8.5

%

Other expense, net

 

 

(50

)

 

 

(0.2

%)

 

 

(341

)

 

 

(2.1

%)

Loss from unconsolidated subsidiary

 

 

(336

)

 

 

(1.1

%)

 

 

 

 

 

0.0

%

Loss before income taxes

 

 

(16,771

)

 

 

(54.9

%)

 

 

(25,787

)

 

 

(155.6

%)

(Provision for) benefit from income taxes

 

 

(166

)

 

 

(0.5

%)

 

 

151

 

 

 

0.9

%

Net loss

 

$

(16,937

)

 

 

(55.4

%)

 

$

(25,636

)

 

 

(154.7

%)

Revenue

We generate our revenue in two streams – Product revenue and Service revenue. Product revenue is derived from the sale of solar tracker systems and customized components for those systems, individual part sales for certain specific transactions and the sale of term-based software licenses. Service revenue includes revenue from shipping and handling services, engineering consulting and pile testing services, our subscription-based enterprise licensing model and maintenance and support services in connection with the term-based software licenses.

 

 

Three months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Product

 

$

27,274

 

 

$

3,543

 

 

$

23,731

 

 

 

669.8

%

Service

 

 

3,274

 

 

 

13,029

 

 

 

(9,755

)

 

 

(74.9

)%

Total revenue

 

$

30,548

 

 

$

16,572

 

 

$

13,976

 

 

 

84.3

%

Product revenue

The increase in product revenue for the three months ended September 30, 2023, as compared to the three months ended September 30, 2022, was primarily due to an increase of 483% in the amount of megawatts produced as activity during the three months ended September 30, 2022, was adversely impacted by regulatory issues involving the Solar Circumvention Investigation and the UFLPA. In addition, we had an increase of 32% in ASP for the three months ended September 30, 2023, as a result of better project pricing in comparison to the low revenue level for the three months ended September 30, 2022.

Although our current quarter production increased compared to the same period last year, our activity levels during the three months ended September 30, 2023, continued to be constrained by recent customer project delays.

 

29


 

Service revenue

The decrease in service revenue for the three months ended September 30, 2023, as compared to the three months ended September 30, 2022, primarily resulted from (i) a decrease of 68% in the amount of MW delivered as a result of timing of project manufacturing completions, as well as (ii) a decrease of 22% in ASP as pricing has moderated in relation to lower transportation costs as compared to the three months ended September 30, 2022.

Service revenue did not fully cover the related costs during the three months ended September 30, 2023 and 2022, due largely to warehousing costs for inventory not assigned to specific projects.

Cost of revenue and gross profit (loss)

Cost of revenue consists primarily of costs related to raw materials, equipment manufacturing activities, freight and delivery, product warranty, remediation and personnel costs (salaries, bonuses, benefits, and stock-based compensation). Personnel costs in cost of revenue include both direct labor costs, as well as costs attributable to any individuals whose activities relate to the procurement, installment and delivery of the finished product and services.

Gross profit may vary from period-to-period and is primarily affected by our ASP, product costs, timing of tracker production and delivery, customer mix, geographical mix, shipping method, logistics costs, warranty costs, indirect cost control efforts and seasonality.

 

 

Three months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Product

 

$

22,775

 

 

$

11,411

 

 

$

11,364

 

 

 

99.6

%

Service

 

 

4,394

 

 

 

14,676

 

 

 

(10,282

)

 

 

(70.1

)%

Total cost of revenue

 

$

27,169

 

 

$

26,087

 

 

$

1,082

 

 

 

4.1

%

Gross profit (loss)

 

$

3,379

 

 

$

(9,515

)

 

$

12,894

 

 

 

(135.5

)%

Gross profit (loss) percentage of revenue

 

 

11.1

%

 

 

(57.4

%)

 

 

 

 

 

 

The increase in cost of revenue for the three months ended September 30, 2023, as compared to the three months ended September 30, 2022, was primarily driven by an increase of 483% in MW produced, which was largely offset by a decrease of 68% in shipping and logistics activity and by a reduction of 66% in the cost per MW produced as a result of lower direct costs due to our design to value efforts, lower remediation and warranty costs, as well as reduced overhead spending due to our other cost control efforts, including headcount reductions, and lower stock-based compensation expense during the current period.

Our gross profit (loss) percentage of revenue for the three months ended September 30, 2023 was a positive 11.1%, as compared to negative 57.4% for the three months ended September 30, 2022.

We had positive gross margin for the three months ended September 30, 2023 largely due to (i) higher production activity, (ii) a mix shift to higher margin product revenue and (iii) lower direct costs due to our design to value efforts, lower remediation and warranty costs, as well as reduced overhead spending resulting from our other cost control efforts.

We had a gross margin loss for the three months ended September 30, 2022 as production volumes were not sufficient to cover certain relatively fixed overhead costs and our service revenue was not sufficient to fully cover our related shipping, transportation and warehousing costs.

 

30


 

Research and development

Research and development expenses consist primarily of salaries, employee benefits, stock-based compensation expense and travel expense related to our engineers performing research and development activities to originate, develop and enhance our products. Additional expenses include consulting charges, component purchases and other costs for performing research and development on our software products.

 

 

Three months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Research and development

 

$

1,921

 

 

$

2,126

 

 

$

(205

)

 

 

(9.6

%)

The decrease in research and development expenses for the three months ended September 30, 2023, as compared to the three months ended September 30, 2022, was primarily attributable to lower stock-based compensation costs of $0.4 million, largely attributable to award forfeitures resulting from the reduction in force in August 2023 and the absence of stock-based incentive compensation awards during the three months ended September 30, 2023, as compared to the three months ended September 30, 2022. This decrease was partially offset by higher facility costs and professional service fees. Research and development expenses as a percentage of revenue were 6.3% for the three months ended September 30, 2023, as compared to 12.8% for the three months ended September 30, 2022. The decrease in the percentage of revenue for the three months ended September 30, 2023, is largely a function of the higher revenue during the period.

Selling and marketing

Selling and marketing expenses consist primarily of salaries, employee benefits, stock-based compensation expense and travel expense related to our sales and marketing and business development personnel. Additionally, selling and marketing expenses include costs associated with professional fees and support charges for software subscriptions and licenses, trade shows and conventions.

 

 

Three months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Selling and marketing

 

$

6,324

 

 

$

1,994

 

 

$

4,330

 

 

 

217.2

%

The increase in selling and marketing expenses for the three months ended September 30, 2023, as compared to the three months ended September 30, 2022, was primarily attributable to higher provisions for credit losses of $4.1 million related to a charge associated with a specific customer account. Selling and marketing costs as a percentage of revenue were 20.7% for the three months ended September 30, 2023, compared to 12.0% for the three months ended September 30, 2022.

General and administrative

General and administrative expenses consist primarily of salaries, employee benefits, stock-based compensation expense and travel expense related to our executives, finance team, and administrative employees. It also consists of legal, consulting, and professional fees, rent and lease expense pertaining to our headquarters and international offices, business insurance costs and certain other costs.

 

 

Three months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

General and administrative

 

$

11,411

 

 

$

13,059

 

 

$

(1,648

)

 

 

(12.6

%)

The decrease in general and administrative expenses for the three months ended September 30, 2023, as compared to the three months ended September 30, 2022, was primarily attributable to $4.5 million of lower stock-based compensation expense related primarily to (i) forfeiture of awards in connection with the September 2023 termination of the Service Agreement with a related party as described further in Note 17, "Related party transactions" in Part I, Item 1 above, (ii) forfeiture of awards in connection with our reduction in force in August 2023 and (iii) the absence of stock-based incentive compensation awards during the three months ended September 30, 2023, as compared to the three months ended September 30, 2022. This was partially offset by a $3.2 million write off of remaining prepaid expense balances also associated with the termination of the Service Agreement with a related party as described above. General and administrative expenses as a percentage of revenue were 37.4% for the three months ended September 30, 2023, compared to 78.8% for the three months ended September 30, 2022.

 

31


 

Interest expense, net

 

 

Three months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Interest expense, net

 

$

108

 

 

$

160

 

 

$

(52

)

 

 

(32.5

)%

Interest expense totaled nearly $0.4 million and $0.3 million during the three months ended September 30, 2023 and 2022, respectively, and primarily consisted of letter of credit and commitment fees on the Credit Facility, along with associated debt issue cost amortization. Interest income earned on our cash equivalents was in excess of $0.2 million and $0.1 million during the three months ended September 30, 2023 and 2022, respectively.

Gain from disposal of investment in unconsolidated subsidiary

 

 

Three months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Gain from disposal of investment in unconsolidated subsidiary

 

$

 

 

$

1,408

 

 

$

(1,408

)

 

 

(100.0

%)

We sold our interest in our unconsolidated subsidiary, Dimension Energy LLC ("Dimension"), on June 24, 2021. Dimension is a community solar developer based in Atlanta, Georgia that provides renewable energy solutions for local communities in the United States. The sales agreement with Dimension included an earnout provision which provides the potential to receive additional contingent consideration of up to approximately $14.0 million through December 2024, based on Dimension achieving certain performance milestones. The sales agreement also includes a projects escrow release which is an additional contingent consideration to receive $7 million based on Dimension’s completion of certain construction projects in progress at the time of the sale. We made an accounting policy election to account for the contingent gains from the earnout provision and projects escrow release only when those amounts become realizable in the periods subsequent to the disposal date. During the three months ended September 30, 2022, we received escrow release payments of $1.4 million, that were recognized in accordance with our policy election. No escrow release payments were received during the three months ended September 30, 2023.

Loss from unconsolidated subsidiary

 

 

Three months ended September 30,

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

Loss from unconsolidated subsidiary

 

$

336

 

 

$

 

 

$

336

 

 

N/A

The loss from unconsolidated subsidiary for the three months ended September 30, 2023, represents our share of certain administrative and other expenses incurred to date by Alpha Steel that are accounted for using the equity method.

 

32


 

Results of Operations - Nine Months Ended September 30, 2023 Compared to Nine Months Ended September 30, 2022

 

 

Nine months ended September 30,

 

 

 

2023

 

 

2022

 

(in thousands, except percentages)

 

Amounts

 

 

Percentage of revenue

 

 

Amounts

 

 

Percentage of revenue

 

Revenue:

 

 

 

 

 

 

 

 

 

 

 

 

Product

 

$

80,927

 

 

 

78.0

%

 

$

43,677

 

 

 

45.1

%

Service

 

 

22,874

 

 

 

22.0

%

 

 

53,169

 

 

 

54.9

%

Total revenue

 

 

103,801

 

 

 

100.0

%

 

 

96,846

 

 

 

100.0

%

Cost of revenue:

 

 

 

 

 

 

 

 

 

 

 

 

Product

 

 

73,694

 

 

 

71.0

%

 

 

62,800

 

 

 

64.8

%

Service

 

 

22,492

 

 

 

21.7

%

 

 

59,360

 

 

 

61.3

%

Total cost of revenue

 

 

96,186

 

 

 

92.7

%

 

 

122,160

 

 

 

126.1

%

Gross profit (loss)

 

 

7,615

 

 

 

7.3

%

 

 

(25,314

)

 

 

(26.1

%)

Operating expenses

 

 

 

 

 

 

 

 

 

 

 

 

Research and development

 

 

5,716

 

 

 

5.5

%

 

 

7,538

 

 

 

7.8

%

Selling and marketing

 

 

9,887

 

 

 

9.5

%

 

 

6,893

 

 

 

7.1

%

General and administrative

 

 

31,053

 

 

 

29.9

%

 

 

39,966

 

 

 

41.3

%

Total operating expenses

 

 

46,656

 

 

 

44.9

%

 

 

54,397

 

 

 

56.2

%

Loss from operations

 

 

(39,041

)

 

 

(37.6

%)

 

 

(79,711

)

 

 

(82.3

%)

Interest expense, net

 

 

(194

)

 

 

(0.2

%)

 

 

(882

)

 

 

(0.9

%)

Gain from disposal of investment in unconsolidated subsidiary

 

 

898

 

 

 

0.9

%

 

 

1,745

 

 

 

1.8

%

Other expense, net

 

 

(265

)

 

 

(0.3

%)

 

 

(249

)

 

 

(0.3

%)

Loss from unconsolidated subsidiary

 

 

(336

)

 

 

(0.3

%)

 

 

 

 

 

0.0

%

Loss before income taxes

 

 

(38,938

)

 

 

(37.5

%)

 

 

(79,097

)

 

 

(81.7

%)

Provision for income taxes

 

 

(175

)

 

 

(0.2

%)

 

 

(15

)

 

 

0.0

%

Net loss

 

$

(39,113

)

 

 

(37.7

%)

 

$

(79,112

)

 

 

(81.7

%)

Revenue

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Product

 

$

80,927

 

 

$

43,677

 

 

$

37,250

 

 

 

85.3

%

Service

 

 

22,874

 

 

 

53,169

 

 

 

(30,295

)

 

 

(57.0

)%

Total revenue

 

$

103,801

 

 

$

96,846

 

 

$

6,955

 

 

 

7.2

%

Product revenue

The increase in product revenue for the nine months ended September 30, 2023 as compared to the nine months ended September 30, 2022, was primarily due to (i) an increase of 57% in the amount of MW produced as activity during the nine months ended September 30, 2022 was adversely impacted by regulatory issues involving the Solar Circumvention Investigation and the UFLPA and (ii) an increase of 13% in ASP as a result of improved project pricing. In addition, product revenue for the nine months ended September 30, 2022 was negatively impacted by a customer concession charge of $2.0 million.

Although our current year-to-date production increased compared to the same period last year, our activity levels during the nine months ended September 30, 2023, continued to be constrained by regulatory issues involving the UFLPA and recent customer project delays.

Service revenue

The decrease in service revenue for the nine months ended September 30, 2023, as compared to the nine months ended September 30, 2022, primarily resulted from a decrease of 49% in the amount of MW delivered as a result of timing of project manufacturing completions, as well as a decrease of 21% in ASP as pricing has moderated in relation to lower transportation costs as compared to the nine months ended September 30, 2022. In addition, service revenue for the nine months ended September 30, 2022 was negatively impacted by a customer concession charge of $3.0 million.

 

33


 

During the nine months ended September 30, 2022, shipping, logistics and warehousing costs were not fully recoverable under certain existing contracts at that time.

Cost of revenue and gross profit (loss)

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Product

 

$

73,694

 

 

$

62,800

 

 

$

10,894

 

 

 

17.3

%

Service

 

 

22,492

 

 

 

59,360

 

 

 

(36,868

)

 

 

(62.1

)%

Total cost of revenue

 

$

96,186

 

 

$

122,160

 

 

$

(25,974

)

 

 

(21.3

)%

Gross profit (loss)

 

$

7,615

 

 

$

(25,314

)

 

$

32,929

 

 

 

(130.1

)%

Gross profit (loss) percentage of revenue

 

 

7.3

%

 

 

(26.1

%)

 

 

 

 

 

 

The decrease in cost of revenue for the nine months ended September 30, 2023, as compared to the nine months ended September 30, 2022, was primarily driven by a decrease of 49% in shipping and logistics activity. While there was an increase of 57% in MW produced, the cost per MW produced decreased by 25% as a result of lower direct costs due to our design to value efforts, lower remediation and warranty costs, as well as reduced overhead spending due to the impact of other cost control efforts, including headcount reductions, during the current period.

Our gross profit (loss) percentage of revenue for the nine months ended September 30, 2023 was a positive 7.3%, as compared to negative 26.1% for the nine months ended September 30, 2022.

We had positive gross margin for the nine months ended September 30, 2023 largely due to (i) higher production activity, (ii) a mix shift to higher margin product revenue, (iii) an increase of 13% in our product ASP, and (iv) lower direct costs due to our design to value efforts, lower remediation and warranty costs, as well as reduced overhead spending resulting from our other cost control efforts, including headcount reductions.

We had a gross margin loss for the nine months ended September 30, 2022 as a result of (i) production volumes that were not sufficient to cover certain relatively fixed overhead costs, (ii) our inability to recover certain increased logistics costs on fixed price contracts, and (iii) recognition of a $5.0 million customer concession during the period.

Research and development

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Research and development

 

$

5,716

 

 

$

7,538

 

 

$

(1,822

)

 

 

(24.2

%)

The decrease in research and development expenses for the nine months ended September 30, 2023, as compared to the nine months ended September 30, 2022, was primarily attributable to (i) lower stock-based compensation expense of $0.7 million largely attributable to award forfeitures resulting from the reduction in force in August 2023 and lower stock-based incentive compensation awards during the nine months ended September 30, 2023 as compared to the nine months ended September 30, 2022, (ii) lower payroll-related costs of $0.5 million as a result of decreased headcount, (iii) lower spending of $0.5 million on lab activity and materials, and (iv) lower research facility costs of $0.1 million. Research and development expenses as a percentage of revenue were 5.5% for the nine months ended September 30, 2023, as compared to 7.8% for the nine months ended September 30, 2022.

Selling and marketing

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Selling and marketing

 

$

9,887

 

 

$

6,893

 

 

$

2,994

 

 

 

43.4

%

The increase in selling and marketing expenses for the nine months ended September 30, 2023, as compared to the nine months ended September 30, 2022, was primarily attributable to (i) higher provisions for credit losses of $3.2 million related mainly to charges in both periods associated with a specific customer account and (ii) higher travel and professional service costs of approximately $0.4 million. This was partially offset by lower stock-based compensation expense of approximately $0.8 million largely attributable to award forfeitures resulting from the reduction in force in August 2023 and lower stock-based incentive compensation awards during the nine months ended

 

34


 

September 30, 2023 as compared to the nine months ended September 30, 2022. Selling and marketing expenses as a percentage of revenue were 9.5% for the nine months ended September 30, 2023, as compared to 7.1% for the nine months ended September 30, 2022.

General and administrative

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

General and administrative

 

$

31,053

 

 

$

39,966

 

 

$

(8,913

)

 

 

(22.3

%)

The decrease in general and administrative expenses for the nine months ended September 30, 2023, as compared to the nine months ended September 30, 2022, was primarily attributable to (i) lower legal fees and settlement costs of $5.3 million, primarily related to our December 2022 settlement of an outstanding legal matter which eliminated a large amount of legal fees and costs during the nine months ended September 30, 2023 as compared to the nine months ended September 30, 2022, (ii) $3.5 million of lower stock-based compensation expense related primarily to (a) forfeiture of awards in connection with the September 2023 termination of the Service Agreement with a related party as described further in Note 17, "Related party transactions" in Part I, Item 1 above, (b) forfeiture of awards in connection with our reduction in force in August 2023, and (c) lower stock-based incentive compensation awards during the nine months ended September 30, 2023 as compared to the nine months ended September 30, 2022, (iii) $1.5 million of lower payroll-related costs due to lower cash incentive expense and headcount as compared to the same period last year, and (iv) $1.3 million of lower insurance costs. These decreases were partially offset by a $3.2 million write off of remaining prepaid expense balances also associated with the termination of the Service Agreement with a related party as described above. General and administrative expenses as a percentage of revenue were 29.9% for the nine months ended September 30, 2023, compared to 41.3% for the nine months ended September 30, 2022.

Interest expense, net

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Interest expense, net

 

$

194

 

 

$

882

 

 

$

(688

)

 

 

(78.0

)%

Interest expense for the nine months ended September 30, 2023 and 2022, totaled approximately $1.0 million and almost $1.1 million, respectively, and primarily consisted of letter of credit and commitment fees on the Credit Facility, along with associated debt issue cost amortization. Interest income earned on our cash equivalents during the nine months ended September 30, 2023 and 2022 totaled approximately $0.8 million and $0.2 million, respectively.

Gain from disposal of investment in unconsolidated subsidiary

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

 

Gain from disposal of investment in unconsolidated subsidiary

 

$

898

 

 

$

1,745

 

 

$

(847

)

 

 

(48.5

%)

Pursuant to the earnout provision in our sales agreement with Dimension as described above, during the nine months ended September 30, 2023 and 2022, we received escrow release payments of $0.9 million and $1.7 million, respectively, that were recognized in accordance with our policy election of recognizing contingent gains when those amounts become realizable.

Loss from unconsolidated subsidiary

 

 

Nine months ended September 30,

(in thousands)

 

2023

 

 

2022

 

 

$ Change

 

 

% Change

Loss from unconsolidated subsidiary

 

$

336

 

 

$

 

 

$

336

 

 

N/A

The loss from unconsolidated subsidiary for the nine months ended September 30, 2023, represents our share of certain administrative and other expenses incurred to date by Alpha Steel that are accounted for using the equity method.

 

35


 

Liquidity and Capital Resources

Liquidity

Since our inception, we have financed our operations primarily through sales of shares of common stock, including our IPO in April 2021, issuance of debt and payments from our customers. Our ability to generate positive cash flow from operations is dependent on contract payment terms, timely collections from our customers and the strength of our gross margins.

We have incurred cumulative losses since inception, resulting in an accumulated deficit of $288.0 million as of September 30, 2023, and have a history of cash outflows from operations. During the years ended December 31, 2021 and 2022, and the nine months ended September 30, 2023, we had $132.9 million, $54.5 million and $46.4 million, respectively, of cash outflows from operations. As of September 30, 2023, we had $31.5 million of cash on hand, $65.4 million of working capital, approximately $64.9 million of remaining capacity available for future sales of our common stock under our ATM program as described further in Note 5, "ATM program" in Part I, Item 1 above, and have approximately $98.0 million of unused borrowing capacity under our Credit Facility until termination on April 30, 2024. The Credit Facility includes a financial condition covenant stating we are required to have a minimum liquidity, consisting of cash on hand and unused borrowing capacity, of $125.0 million as of each quarter end. Additionally, as of September 30, 2023, we had a material contractual obligation that could require us to make additional equity investment capital contributions to Alpha Steel, as described further in "Note 3, Equity method investment".

The UFLPA was passed by the U.S. Congress and signed into law by President Biden on December 23, 2021. The UFLPA establishes a rebuttable presumption that the importation of any goods, wares, articles, and merchandise mined, produced, or manufactured wholly or in part in Xinjiang, or that are produced by certain entities, is prohibited by Section 307 of the Tariff Act of 1930 and that such goods, wares, articles, and merchandise are not entitled to entry to the United States. CBP began implementing the presumption set out in the UFLPA on June 21, 2022, resulting in new rules for solar module importers and reviews by CBP. There continues to be uncertainty in the market around achieving full compliance with the UFLPA for the importation of solar modules, whether related to sufficient traceability of materials or other factors.

On April 1, 2022, the U.S. Department of Commerce, in response to a petition by Auxin Solar, Inc., published a notice initiating the Solar Circumvention Investigation. On June 6, 2022, President Biden issued a proclamation allowing U.S. solar deployers the ability to import solar modules and cells from Cambodia, Malaysia, Thailand and Vietnam free from certain duties for 24 months, along with other incentives designed to accelerate U.S. domestic production of clean energy technologies.

Since 2016, CBP has issued a number of WROs directed at forced labor in China, including WROs directed specifically at activity in Xinjiang. To date, CBP has used the WROs to detain solar panels, which has disrupted the U.S. solar installation market and caused additional uncertainty on future projects.

These policies and actions have resulted in some developers deferring projects due to the uncertainty of panel supply and costs, which negatively impacted our 2022 revenue and cash flows and are continuing to negatively impact our revenue and our cash flows to date in 2023.

The most notable incentive program impacting our U.S. business has been the ITC for solar energy projects, which allows taxpayers to offset their U.S. federal income tax liability by a certain percentage of their cost basis in solar energy systems placed in service for commercial use. The Inflation Reduction Act of 2022, passed by the U.S. Congress and signed into law by President Biden on August 16, 2022, expanded and extended the tax credits and other tax benefits available to solar energy projects and the solar energy supply chain. ITCs have been extended for such projects through at least 2032 and, depending on the location of a particular project and its ability to satisfy certain labor and domestic content requirements, the ITC percentage can range between 30% and 50%. U.S. manufacturers of specific solar components are now eligible to claim production tax credits as an alternative to the ITC. Implementing regulations for this law are still being finalized.

Our costs are affected by the costs of certain components and materials, such as steel, motors and micro-chips, as well as transportation costs. Current market conditions and international conflicts that constrain the supply of materials and disrupt the flow of materials from international vendors impact the cost of our products and services, along with overall rates of inflation in the global economy, which have been higher than pre-COVID 19 pandemic historical rates. Transportation costs, including ocean freight and U.S. domestic haul rates, increased at the beginning of the COVID-19 pandemic but have since returned to pre-pandemic rates. Domestic fuel prices, however, continue to be elevated compared to pre-pandemic rates. Additionally, COVID-19 shutdowns in China during 2022 created a backlog of

 

36


 

exports and increased demand for container shipments from China, but such shutdowns have since been eased by the Chinese government. These cost increases and decreases impact our operating margins. We have taken steps to expand and diversify our manufacturing partnerships and have adjusted our modes of transportation to mitigate the impact of headwinds that arise in the global supply chain and logistics markets. As an example, we have modified our ocean freight from previously using charter shipments to now using containerized shipments as costs in the container market began to decrease in 2022. We continue to monitor the logistics markets and will continue to evaluate our use of various modes of transportation when warranted to optimize our transportation costs. Additionally, from February 2022 to September 2023, we utilized a related-party consulting firm to support us in making improvements to our processes and performance in various areas, including design, sourcing, logistics, pricing, software and our distributed generation business. For further information regarding this consulting firm, see Note 17, "Related party transactions" in Part I, Item 1 of this Quarterly Report on Form 10-Q.

In accordance with ASC 205-40, Going Concern, we have evaluated whether there are conditions and events, considered in the aggregate, which raise substantial doubt about our ability to continue as a going concern within one year after the date these condensed consolidated financial statements are issued. While the UFLPA continues to create uncertainty in the market, we believe that passage of the Inflation Reduction Act of 2022, as described above, has reduced the level of uncertainty among solar project owners and developers with regard to new project development in the United States. We note that implementing regulations for the Inflation Reduction Act are still being finalized, which creates uncertainty about the extent of its impact on our Company and the solar energy industry. We also took significant steps in 2022, and are continuing to take further steps in 2023, to address the recent market challenges and our historical use of cash through the following actions:

certain members of our senior management team elected to forego certain cash compensation during the second half of 2022 in exchange for equity compensation;
the members of our board of directors agreed to take equity compensation in lieu of cash compensation during 2023;
we began making certain incentive compensation payments to all employees in stock rather than cash beginning at the end of the second quarter of 2022;
we reduced our workforce by approximately 8% in December of 2022, and another 9% in the third quarter of 2023;
we initially froze non-essential hiring in 2022, placed restrictions on certain travel, decreased the future use of consultants and continue to defer non-critical initiatives;
we have initiated frequent, consistent communication with our customers, which in certain cases has allowed us to resolve issues preventing timely collection of certain past due outstanding receivables;
we have emphasized cash collections from customers, and continue to negotiate improved payment terms with both our customers and vendors and have switched vendors when needed to obtain cost savings;
we launched Pioneer, a 1P solar tracker solution, and introduced a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules not subject to UFLPA;
we reached a settlement agreement with FCX Solar, LLC in December 2022, regarding a lawsuit filed against us relating to claims of patent infringement in order to eliminate future time and expense involved in defending ourselves in this action; under the settlement agreement, we were able to utilize our common stock to satisfy a portion of the settlement payment;
we made an investment to acquire a 45% ownership interest in Alpha Steel, a manufacturing partnership with a leading steel fabricator, which will enhance our domestic supply chain to reduce our exposure to import duties and import restrictions, as described further in "Note 3, Equity method investment" above;
in 2023, we began selling newly issued shares of our common stock under our ATM program (as defined and described further in "Note 5, ATM program" above); and
we continue to actively explore options to obtain additional sources of capital through either the issuance of new debt or equity.

 

37


 

A number of the steps above, as well as improvements in the logistics markets and easing of supply chain constraints, contributed to us having positive gross profit in the nine months ended September 30, 2023, which also reduced our use of cash required to fund our operations during the current year-to-date period.

Management believes that our existing cash on hand, as well as the continuing impact of certain of the actions described above and our expectations of improved market conditions and positive results from our efforts to continue to increase gross margins, will allow us to grow profitably and generate positive cash flow from operations during the next twelve months in amounts that will be sufficient, along with our other available resources, to fund our operations for at least one year from the date of issuance of the condensed consolidated financial statements.

We have achieved success in executing certain of the initiatives above and we continue to work to further reduce our use of cash to fund our operations. We have begun and expect to continue seeing the benefits from production of our Pioneer solution in our financial results during 2024 and we believe passage of the Inflation Reduction Act of 2022 and our investment in Alpha Steel will also ultimately benefit demand for our products in the United States. At the same time, however, new rules for module importers and reviews by CBP pursuant to achieving full compliance with the UFLPA are expected to continue creating uncertainty in the market. However, once there is additional clarity around compliance with the UFLPA and customers get line-of-sight to module deliveries, we believe the market will see a recovery. While there are already many underlying drivers of growth in the solar industry, the expected positive impact on demand for our products could take longer than expected to occur. In addition, market conditions could deteriorate significantly from what we currently expect, and regulatory and international trade policies could become more stringent as a result of (i) findings from the Solar Circumvention Investigation, (ii) CBP's enforcement of the UFLPA, and (iii) other factors, which may result in a need for us to issue additional debt or obtain new equity financing, which could result in additional shareholder dilution, to continue to adequately fund our existing operations beyond the next twelve months. We may be unable to obtain any desired additional financing on terms favorable to us, or at all, depending on market and other conditions, which could result in curtailment of our current operations and our ability to further invest in our products and new technology. The ability to raise additional financing depends on numerous factors that are outside of our control, including macroeconomic factors such as the impact of inflation, the ongoing conflict in the Ukraine, market conditions, the health of financial institutions (including the recent bankruptcy of certain regional banks and related impacts that have occurred and continue to occur in the banking industry), investors' and lenders' assessments of our prospects and the prospects of the solar industry in general.

Statements of cash flows

The following table shows our cash flows from operating activities, investing activities and financing activities for the stated periods:

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

Net cash used in operations

 

$

(46,383

)

 

$

(49,085

)

Net cash used in investing activities

 

 

(462

)

 

 

(4,076

)

Net cash provided by financing activities

 

 

34,133

 

 

 

788

 

Effect of exchange rate changes on cash and cash equivalents

 

 

(153

)

 

 

8

 

Net decrease in cash and cash equivalents

 

$

(12,865

)

 

$

(52,365

)

Operating activities

During the nine months ended September 30, 2023, we used approximately $18.6 million of cash to fund a portion of our current period expenditures for personnel and facilities, legal and professional fees, insurance, research and development and various other operating activities. This compares to $59.9 million of cash used during the nine months ended September 30, 2022, primarily for funding of (i) losses on certain projects, largely related to increased material and logistics costs due to supply chain disruptions that were not fully recoverable and (ii) prior period expenditures for personnel and facilities, legal and professional fees, and various other period costs.

Approximately $27.8 million of cash was also used for working capital and other increases during the nine months ended September 30, 2023, primarily as a result of production activity and the timing of customer receipts and vendor payments, net of inventory utilization. During the nine months ended September 30, 2022, we generated approximately $10.8 million of cash through reductions in working capital as we were able to reach settlements with certain customers to collect past due receivables owed.

 

38


 

Investing activities

During the nine months ended September 30, 2023, we made an initial equity investment of $0.9 million in Alpha Steel, a manufacturing partnership with Taihua, in which we hold a 45% interest. Pursuant to our agreement with Alpha Steel, we could be required to make up to $2.6 million in future additional capital contributions as Alpha Steel expands production. Additionally, we received $0.9 million of contingent payments from escrow in connection with the June 2021 sale of our equity interest in Dimension due to the subsequent completion of certain construction projects that were in progress at the time of the sale. We also spent nearly $0.5 million for leasehold improvements, tooling, software, and new computer and IT equipment during the nine months ended September 30, 2023.

During the nine months ended September 30, 2022, we spent (i) approximately $5.1 million in cash for the acquisition of HX Tracker and to acquire certain assets from Standard Sun, Inc., as well as (ii) $0.8 million for new lab, computer and IT equipment. Additionally, we received $1.7 million in contingent payments from escrow in connection with the sale of our equity interest in Dimension as described above.

Financing activities

During the nine months ended September 30, 2023, we began selling newly issued shares of our common stock in various daily transactions under our ATM program, receiving cash proceeds of $34.0 million. We also received $0.2 million of proceeds from employee exercises of stock options. During the nine months ended September 30, 2022, $0.8 million of proceeds from employee exercises of stock options were received.

Revolving line of credit

On April 30, 2021, we entered into the Credit Facility Agreement, which terminates on April 30, 2024.

On June 7, 2023, we entered into Amendment No. 3 to our Credit Facility Agreement with Barclays Bank PLC, pursuant to the occurrence of an Early Opt-in Election, to replace USD LIBOR with the secured overnight financing rate (SOFR) as the benchmark rate for future term loans (“Term SOFR”) under the Credit Facility Agreement. No other material changes were made to the Credit Facility Agreement as part of this amendment.

The Credit Facility Agreement, as amended, includes the following terms: (i) a base rate of Term SOFR, plus 3.25% per annum, (ii) initial commitment fees of 0.50% per annum; (iii) initial letter of credit fees of 3.25% per annum; and (iv) other customary terms for a corporate revolving credit facility.

We have not made any draws on our Credit Facility as of September 30, 2023. However, as of September 30, 2023, we had $2.0 million in letters of credit outstanding that reduced our available borrowing capacity to approximately $98.0 million.

The Credit Facility is secured by a first priority lien on substantially all of our assets, subject to certain exclusions, and customary guarantees. As of September 30, 2023, we were in full compliance with our financial condition covenants.

We are required to maintain a liquidity level (defined as unrestricted cash and cash equivalents plus the available borrowing capacity under the Credit Facility) of no less than $125.0 million at each quarter end in order to utilize the Credit Facility. As of September 30, 2023, we were over the required minimum liquidity level thus allowing us to continue to access our Credit Facility up to the available borrowing capacity, pending the measurement of our liquidity level again at the end of the next fiscal quarter.

Critical Accounting Policies and Significant Management Estimates

Preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported revenue and expenses during the period. Estimates are used for calculating the measure of progress of our solar tracker projects and deriving the standalone selling prices of the individual performance obligations when determining amounts to recognize for revenue, estimating allowances for credit losses and slow-moving and obsolete inventory, determining useful lives of long-lived assets and the estimated fair value of those assets for impairment assessments, and estimating the fair value of investments, stock compensation awards, warranty liabilities and federal and state taxes, including tax valuation allowances, as well as other contingencies. We base our estimates on historical experience and anticipated results, trends, and various other assumptions that we believe are reasonable

 

39


 

under the circumstances, including assumptions as to future events. Actual results could differ from those estimates due to risks and uncertainties.

To the extent that there are differences between our estimates and actual results, our future financial statement presentation, financial condition, results of operations and cash flows will be affected. We believe that the accounting policies discussed below are critical to understanding our historical and future performance, as these policies relate to the more significant areas involving management’s judgments and estimates. Critical accounting policies and estimates are those that we consider the most important to the portrayal of our financial condition and results of operations because they require our most difficult, subjective or complex judgments, often as a result of the need to make estimates about the effects of matters that are inherently uncertain.

We believe that the accounting policies described below involve a significant degree of judgment and complexity. Accordingly, we believe these are the most critical to aid in fully understanding and evaluating our condensed consolidated financial condition and results of operations.

Revenue recognition

Policy description

We recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration to which we expect to be entitled to in exchange for those goods or services by following a five-step process: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when or as the Company satisfies a performance obligation, as further described below.

Identify the contract with a customer: A contract with a customer exists when (i) the Company enters into an enforceable contract with a customer that defines each party’s rights regarding the products and services to be transferred and identifies the payment terms related to these products and services, (ii) the contract has commercial substance, and (iii) the Company determines that collection of substantially all consideration for products and services that are transferred is probable based on the customer’s intent and ability to pay the promised consideration. In assessing the recognition of revenue, we also evaluate whether two or more contracts should be combined and accounted for as one contract and if the combined or single contract should be accounted for as multiple performance obligations which could change the amount of revenue and profit (loss) recorded in a period. Change orders may include changes in specifications or design, manner of performance, equipment, materials, scope of work, and/or the period of completion of the project. We analyze change orders to determine if they should be accounted for as a modification to an existing contract or a new stand-alone contract.

Contracts we enter into with our customers for sale of solar tracker systems are generally under two different types of arrangements: (1) purchase agreements and equipment supply contracts (“Purchase Agreements”), and (2) sale of individual parts for those systems.

Change orders from our customers are generally modifications to existing contracts and are included in the total estimated contract revenue when it is probable that the change order will result in additional value that can be reliably estimated and realized.

Identify the performance obligations in the contract: We enter into contracts that can include various combinations of products and services, which are either capable of being distinct and accounted for as separate performance obligations or as one performance obligation since the majority of tasks and services are part of a single project or capability. However, determining whether products or services are considered distinct performance obligations that should be accounted for separately versus together may sometimes require significant judgment.

Our Purchase Agreements typically include two performance obligations: 1) our solar tracker systems or customized components of those systems, and 2) shipping and handling services. The deliverables included as part of our solar tracker systems are predominantly accounted for as one performance obligation, as these deliverables are part of a combined promise to deliver a project.

The revenue for shipping and handling services will be recognized over time based on progress in meeting shipping terms of the arrangements, as this faithfully depicts the Company’s performance in transferring control. Revenue for stand-alone engineering consulting and pile testing services is recognized at a point in time upon completion of the services performed.

 

40


 

Sales of individual parts of our solar tracker systems for certain specific transactions include multiple performance obligations consisting of individual parts of those systems. Revenue is recognized for parts sales at a point in time when the obligations under the terms of the contract with our customer are satisfied. Generally, this occurs with the transfer of control of the asset, which is in line with shipping terms.

Determine the transaction price: The transaction price is determined based on the consideration to which we will be entitled in exchange for transferring services to the customer. Such amounts are typically stated in the customer contract, and to the extent that we identify variable consideration, we will estimate the variable consideration at the onset of the arrangement as long as it is probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. The majority of our contracts do not contain variable consideration provisions as a continuation of the original contract. None of our contracts contain a significant financing component. Taxes collected from customers and remitted to governmental authorities are not included in revenue.

Allocate the transaction price to performance obligations in the contract: Once we have determined the transaction price, we allocate the total transaction price to each performance obligation in a manner depicting the amount of consideration to which we expect to be entitled in exchange for transferring the good(s) or service(s) to the customer. We allocate the transaction price to each performance obligation identified in the contract on a relative standalone selling price basis.

We use the expected cost-plus margin approach based on hardware, labor, and related overhead cost to estimate the standalone selling price of our solar tracker systems, customized components of those systems, and individual parts for certain specific transactions. We also use the expected cost-plus margin approach based on expected third-party shipping and transportation costs to estimate the standalone selling price of our shipping, handling and logistics performance obligations. We use the adjusted market assessment approach for all other performance obligations.

Recognize revenue when or as the Company satisfies a performance obligation: For each performance obligation identified, we determine at contract inception whether we satisfy the performance obligation over time or at a point in time. The performance obligations in the contracts for our solar tracker systems and customized components of those systems are satisfied over time as work progresses, utilizing an input measure of progress determined by cost-to-cost measures on these projects as this faithfully depicts our performance in transferring control. Additionally, our performance does not create an asset with an alternative use, due to the highly customized nature of the product, and we have an enforceable right to payment for performance completed to date. Our performance obligations for individual part sales for certain specific transactions are recognized at a point in time as and when control transfers based on the Incoterms for the contract. Our performance obligations for engineering consulting and pile testing services are recognized at a point in time upon completion of the services. Our performance obligations for term-based software licenses are recognized at a point in time as and when control transfers, either upon delivery to the customer or the software license start date, whichever is later. Our performance obligations for shipping and handling services are satisfied over time as the services are delivered over the term of the contract. We recognize revenue for subscription and other services on a straight-line basis over the contract period. With regard to support revenue, a time-elapsed method is used to measure progress because we transfer control evenly over the contractual period. Accordingly, the fixed consideration related to support revenue is generally recognized on a straight-line basis over the contract term.

Contract assets and liabilities: The timing of revenue recognition, billing, and cash collection results in the recognition of accounts receivable, unbilled receivables for revenue recognized in excess of billings, and deferred revenue in the condensed consolidated balance sheets. We may receive advances or deposits from our customers before revenue is recognized, resulting in contract liabilities, which are reflected as “deferred revenue” in our condensed consolidated balance sheets.

Judgments and assumptions

The timing and amounts of revenue and cost of revenue recognition, as well as recording of related receivables and deferred revenue, is highly dependent on our identification of performance obligations in each contract and our estimates by contract of total project cost and our progress toward project completion as of each period end. Certain estimates are subject to factors outside of our control that may impact our suppliers and the global supply chain. As an example, we began to experience increases in steel prices and shipping and logistics costs, as well as delays in delivery of our products to customers during 2021, which negatively impacted our results of operations as we were not able to recover all of the additional costs under certain of our fixed fee contracts at that time. Certain of these increases have since been mitigated as supply chain constraints have eased and as we have adjusted our use of various modes of transportation when warranted to optimize our transportation costs. We base our estimates on the best information available at each period end, but future events and their effects cannot be determined with certainty, and actual results could differ materially from our assumptions and estimates.

 

41


 

Accounts receivable, net

Policy description

Trade receivables are recorded at invoiced amounts, net of allowances for credit losses, and do not bear interest. We generally do not require collateral from our customers; however, in certain circumstances, we may require letters of credit, other collateral, additional guarantees or advance payments.

We adopted ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments effective January 1, 2023. As a result, we now establish an allowance for credit losses based on the expected lifetime credit loss of our customer accounts. For the three and nine months ended September 30, 2022, we utilized the incurred loss model in estimating our allowance for doubtful accounts during those periods.

Judgments and assumptions

The allowance for credit losses is based on the lifetime expected credit loss of our customer accounts. To assess the lifetime expected credit loss, we utilize a loss rate method that takes into consideration historical experience and certain other factors, as appropriate, such as credit quality and current economic or other conditions that may affect a customer's ability to pay.

Adjustments to the allowance are largely dependent on historical experience involving amounts previously collected from our customers in recent years or based on specific changes in a customer's ability to pay. As an example, we recognized a $4.0 million credit loss provision in our selling and marketing expenses during the three months ended September 30, 2023, related to indications received of a specific customer's inability to fully pay amounts owed. Historical experience, when used in making such adjustments, may not reflect current actual experience and may result in greater variability in the amounts recognized in our allowance for expected credit losses as compared to the incurred loss method that was utilized prior to January 1, 2023.

Warranty

Policy description

Typically, the sale of solar tracker projects includes parts warranties to customers as part of the overall price of the product. We provide standard assurance type warranties for our products for periods generally ranging from two to ten years. We record a provision for estimated warranty expenses in cost of sales, net of amounts recoverable from manufacturers under their warranty obligations to us. We do not maintain general or unspecified reserves; all warranty reserves are related to specific projects. All actual or estimated material costs incurred for warranty services in subsequent periods are charged to those established reserves.

Judgments and assumptions

We base our estimated warranty obligations on our historical experience and forward-looking factors including the nature and frequency of product failure rates and costs to address future claims. These estimates are inherently uncertain given our relatively short history of sales and changes to our historical or projected warranty experience may result in material changes to our warranty reserve in the future. Additionally, we make estimates of what costs we believe will be recoverable from the manufacturer of our products that we use to offset our obligations to our customers.

While we periodically monitor our warranty activities and claims, if actual costs incurred were to be different from our estimates, we would recognize adjustments to our warranty reserves in the period in which those differences arise or are identified. Such adjustments could be material to cost of revenue in our results of operations in the period the adjustments are made.

Stock-based compensation

Policy description

We recognize compensation expense for all share-based payment awards made, including stock options and RSUs, based on the estimated fair value of the award on the grant date. We calculate the fair value of stock options using the Black-Scholes option pricing model for awards with service-based vesting or through use of a lattice model or a Monte Carlo simulation for awards with market

 

42


 

conditions. The fair value of RSUs is based on the estimated fair value of the Company's common stock on the date of grant. We consider the closing price of our stock, as reported on the Nasdaq Global Market, to be the fair value of our stock on the grant date.

Forfeitures are accounted for as they occur. For service-based awards, stock-based compensation is recognized using the straight-line attribution approach over the requisite service period. For performance-based awards, stock-based compensation is recognized based on graded vesting over the requisite service period when the performance condition is probable of being achieved. Stock compensation expense for market-based awards is recognized over the derived service period determined in the valuation model, inclusive of any vesting conditions.

Judgments and assumptions

Our service-based options currently outstanding were initially granted prior to or shortly after our IPO. We used the Black-Scholes model to estimate the fair value of the options at the grant date. The Black-Scholes model relies on various assumptions, in addition to the exercise price of the option and the value of our common stock on the date of grant. These assumptions include:

Expected Term: The expected term represents the period that the Company’s stock-based awards are expected to be outstanding and has been calculated as the average of the option vesting and contractual terms, based on the simplified method. The simplified method deems the term to be the average of the time-to-vesting and the contractual life of the options.

Expected Volatility: Since the Company did not have a trading history of its common stock prior to our IPO and since such trading history subsequent to our IPO was limited in relation to the expected term of any option grants, the expected volatility was derived from the average historical stock volatilities of several public companies within the Company’s industry that it considers to be comparable to its business over a period equivalent to the expected term of the stock option grants.

Risk-Free-Interest-Rate: The Company bases the risk-free interest rate on the implied yield available on U.S. Treasury zero-coupon issues with a remaining term equivalent to the expected term.

Expected Dividend: The Company has not issued any dividends in its history and does not expect to issue dividends over the life of the options and, therefore, has estimated the dividend yield to be zero.

We used Monte Carlo simulations for certain awards granted with market conditions which provided an estimated average present value for each award based on a simulation assuming Geometric Brownian Motion in a risk-neutral framework using 100,000 simulation paths to determine the derived service and vesting periods.

Changes to any of our assumptions, but particularly our estimates of expected term and volatility, could change the fair value of our options and impact the amount of stock-based compensation expense we report each period.

Impairment

Policy description - long-lived assets and intangible assets

We review our long-lived assets that are held for use for impairment whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable or that its useful life may be shorter than previously expected. If such impairment indicators are present or other factors exist that indicate the carrying amount of the asset may not be recoverable, we determine whether an impairment has occurred through the use of an undiscounted cash flow analysis of the asset at the lowest level for which identifiable cash flows exist. If an impairment has occurred, we recognize a loss for the difference between the carrying amount and the fair value of the asset, which in most cases is estimated based upon Level 3 unobservable inputs. If the asset is determined to have a remaining useful life shorter than previously expected an adjustment for the shorter remaining life will be made for purposes of recognizing future depreciation expense. Assets are classified as held for sale when we have a plan, approved by the appropriate levels of management, for disposal of such assets, as well as other considerations, and those assets are stated at the lower of carrying value or estimated fair value less estimated costs to sell.

 

43


 

Policy description - goodwill

Goodwill is not amortized but is subject to a periodic assessment for impairment at least annually, or whenever events and circumstances indicate an impairment may exist. Our assessments may include qualitative factors such as current or expected industry and market conditions, our overall financial performance, share price trends, market capitalization and other company-specific events.

We operate in one segment, being the consolidated entity, which we have also determined is the reporting unit for goodwill impairment.

Judgments and assumptions

Key judgments and assumptions may include:

determination of whether events or changes in circumstances indicate that the carrying value of our long-lived assets or goodwill might be impaired. Such factors to consider may include an evaluation of changes in the business or regulatory climate, market conditions or other events impacting our operations;
estimating future cash flows of our long-lived assets or asset groups and intangible assets, which may involve assumptions as to the lowest level of our assets at which cash flows are generated, as well as future growth and risk-adjusted discount rates, as well as a terminal growth rate or value and future market conditions;
estimates of assumptions a market participant would use in determining the fair value of the affected long-lived assets or asset groups; and
estimating the fair value of the consolidated company, which can be affected by changes in the market value of our common stock.

We have not identified any impairments of our long-lived assets, intangible assets or goodwill as of September 30, 2023, apart from the write-off of remaining prepaid balances to general and administrative expense associated with the termination on September 13, 2023, of the Service Agreement with a related party, as described further in Note 17, "Related party transactions" in Part I, Item 1 above.

JOBS Act accounting election

We are an emerging growth company, as defined in the JOBS Act. Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards until such time as those standards apply to private companies. We elected to use the allowed extended transition period for adopting new or revised accounting standards.

 

ITEM 3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

We are exposed to market risk in the ordinary course of our business. Market risk represents the risk of loss that may impact our financial position due to adverse changes in financial market prices and rates. Our market risk exposure is primarily a result of customer concentrations and fluctuations in steel, aluminum and logistics/transportation prices. We do not hold or issue financial instruments for trading purposes.

Fair value of financial instruments

Our financial instruments consist of cash, cash equivalents, accounts receivable, short-term interest-bearing loans and accounts payable. Cash, cash equivalents, accounts receivable and accounts payable are stated at their carrying value, which approximates fair value due to the short time to the expected receipt or payment date.

We had $31.5 million of cash and cash equivalents on hand, the vast majority of which was located in the United States, and no debt outstanding as of September 30, 2023. We regularly maintain cash balances with various financial institutions that exceed federally insured amounts, but we have experienced no losses associated with these amounts to date. We also took action in early 2023 to reallocate cash balances between different financial institutions based on our assessment as to the financial health of certain institutions.

 

44


 

Certain of our cash equivalents include deposits in money market funds that invest primarily in short-term securities issued or guaranteed by the U.S. government or its agencies or instrumentalities and contain no restrictions on immediate redemption. The carrying value for money market fund deposits approximates fair value based on quoted prices in active markets for units held (Level 1 classification) and totaled $18.1 million at September 30, 2023 and $25.4 million at December 31, 2022.

We have no other financial instruments as of September 30, 2023, other than cash equivalents, short-term interest-bearing loans and certain non-functional currency intercompany and third-party receivables and payables, which are subject to foreign exchange, interest rate or market risks.

Concentrations of major customers

Our customers include project developers, solar asset owners and EPC contractors that design and build solar energy projects. We extend credit to customers in the normal course of business, often without requiring collateral. We also perform credit analyses and monitor the financial health of our customers to reduce credit risk.

We typically rely on a small number of customers that account for a large portion of our revenue each period and our outstanding receivables at each period end.

Further, our accounts receivables are from companies within or serving the solar industry and, as such, we are exposed to normal industry credit risks. We continually evaluate our reserves for potential credit losses and establish initial reserves based on our expectation of lifetime expected credit losses.

Commodity Price Risk

We subcontract to various contract manufacturers, who manufacture and deliver products directly to our customers. We, therefore, do not procure raw materials and commodities directly, except for items added to our inventory. We are subject to indirect risk from fluctuating market prices of certain commodity raw materials, including steel and aluminum, which are used in our products, through our contract manufacturers, as increases in these commodity prices would increase our cost of procuring subcontracting services. Prices of these raw materials may be affected by supply restrictions or other market factors from time to time. Significant price increases for these raw materials could reduce our operating margins if we are unable to recover such increases in costs from our customers, and could harm our business, financial condition and results of operations.

 

ITEM 4. CONTROLS AND PROCEDURES

Evaluation of Disclosure Controls and Procedures

Our management, with the participation of our Chief Executive Officer and our Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934 (the "Exchange Act") as of the end of the period covered by this Quarterly Report on Form 10-Q. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures as of the end of the period covered by this Quarterly Report on Form 10-Q were effective in providing reasonable assurance that information required to be disclosed by us in reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the Securities and Exchange Commission's rules and forms, and that such information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate, to allow timely decisions regarding required disclosures.

Our management, including our Chief Executive Officer and Chief Financial Officer, does not expect that our disclosure controls and procedures or our internal controls will prevent all error and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable, but not absolute, assurance that the objectives of the control system are met. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within the Company can be detected.

 

45


 

Changes in Internal Control Over Financial Reporting

There were no changes in our internal control over financial reporting that occurred during the three months ended September 30, 2023, that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

 

 

46


 

PART II - OTHER INFORMATION

From time to time, we may become involved in various claims, lawsuits, investigations, and other proceedings, arising in the normal course of business.

In March of 2023, CBP issued notices of tariff assessment that indicated an action taken at the Import Specialist (i.e., the port) level with respect to merchandise imported from Thailand under entry number 004-1058562-5 (the “625 Assessment”) and entry number 004-1063793-9 (the “Original 939 Assessment”, and collectively with the 625 Assessment, the “Original CBP Assessments”). The Original CBP Assessments related to certain torque beams that are used in our Voyager+ product that were imported in 2022. In the Original CBP Assessments, CPB asserted that Section 301 China tariffs, Section 232 steel & aluminum tariffs, and antidumping and countervailing duties applied to the merchandise. Based on correspondence received to date from CBP and our calculations based on applicable duty and tariff rates, the 625 Assessment is currently for approximately $2.16 million. In September of 2023, CBP informed us (the "Revised 939 Assessment", and together with the 625 Assessment, the "Revised CBP Assessments") that the amount owed under the Original 939 Assessment was being revised downward to approximately $2.01 million. In particular, CBP accepted our position that the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, previously assessed under the Original 939 Assessment are not applicable as they are only applicable to articles that originate in China and that, in this case, the finished goods are products of Thailand.

Upon review of the facts involved, and in consultation with outside legal counsel, we believe that the remaining amounts claimed in the Revised CBP Assessments are incorrect. In particular, the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, are not applicable under the 625 Assessment for the same reason stated above with respect to the Revised 939 Assessment, which has been accepted by CBP. Moreover, with respect to both Revised CBP Assessments, we believe that the goods in question were properly classified as parts of structures at the time of importation and that when properly classified, the beams and other materials are not subject to Section 232 duties applicable to more basic steel products.

CBP has legally finalized both Revised CBP Assessments. We filed a formal protest for the 625 Assessment in September of 2023 and plan to do the same for the Revised 939 Assessment. Based on the above, and under the relevant accounting guidance related to loss contingencies, we have made no accrual for the amounts claimed by CBP as of September 30, 2023, as we do not consider these amounts to be a probable obligation, as such term is defined and interpreted under the relevant accounting guidance, for us at this time. However, because matters of this nature are subject to inherent uncertainties, and unfavorable rulings or developments, including future assessments of additional duties or tariffs owed in respect of other shipments or other materials beyond what is presently included in the Revised CBP Assessments, could occur despite our belief that the tariffs and duties asserted are incorrect, there can be no certainty that the Company may not ultimately incur charges that are not currently recorded as liabilities. Since the outcome of these matters cannot be predicted with certainty, the costs associated with them could have a material adverse effect on our consolidated results of operations, financial position, or liquidity.

 

ITEM 1A. RISK FACTORS

We are subject to a number of risks that if realized could adversely affect our business, strategies, prospects, financial condition, results of operations and cash flows. Some of the more significant risks and uncertainties we face include those summarized below. The summary below is not exhaustive and is qualified by reference to the full set of risk factors set forth in Item 1A. "Risk Factors" in our 2022 Annual Report. Please carefully consider all of the information in this Quarterly Report on Form 10-Q and our 2022 Annual Report, including the full set of risks set forth in Item 1A. "Risk Factors" of our 2022 Annual Report, and in our other filings with the SEC before making an investment decision regarding us.

Risks related to our business and our industry – We are a relatively new public company with a history of losses that provides products and services to the solar industry, which is rapidly changing and dependent on being competitive with the price of electricity generated from other sources. We face competition from other companies that may be larger than us and have more financial resources than we have which could impact our ability to compete for new business.
Risks related to government regulations and legal compliance – We face risks to the demand for our products from our customers due to changes in, or expiration of, governmental incentives and existing tax credits and other benefits. Additionally, changes in the trade environment and tax treaties between the United States and other countries, such as China, as well as import

 

47


 

tariffs and other laws and regulations that impact the ability to import our products or other products necessary for the construction of solar energy projects, have adversely and could continue to adversely affect our business.
Risks related to manufacturing and supply chain – We face risks in meeting the needs of our customers due to our reliance on contract manufacturers, including on their ability to obtain raw materials in a cost effective and timely manner and to provide timely deliveries of finished products to us and our customers.
Risks related to intellectual property – We face the risk of not being able to adequately protect or defend our intellectual property and property rights in the various countries in which we do business.
Risks related to information technology and data privacy – We face reputational and monetary risks from cybersecurity incidents and the unauthorized disclosure of personal or sensitive data relating to our employees, customers, vendors and others.
Risks related to ownership of our common stock – The holders of our common stock face a risk of loss in their investment in us due to fluctuations in our stock price as a result of changing market conditions, any future issuances of stock, our future financial performance, our corporate legal structure and the substantial ownership in our stock by our directors, executive officers and principal stockholders.
Risks related to COVID-19 and other health epidemics – We face risks of our business being adversely impacted by the effects of a widespread outbreak of contagious disease, such as the recent COVID-19 pandemic. COVID-19 caused significant supply chain disruptions beginning in 2020 that resulted in delays in product delivery and completion and caused increased transportation costs, as well as labor shortages at that time. In May 2023, both the World Health Organization and the U.S. Department of Health and Human Services ended their declared status of COVID-19 as being a public health emergency.

Additionally, as described further in Note 2 in Part I, Item 1 under the section "Liquidity" and in Part I, Item 2 of this Quarterly Report on Form 10-Q under the section "Liquidity and Capital Resources", we have a history of cash outflows to fund operations.

 

ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES, USE OF PROCEEDS AND ISSUER PURCHASES OF EQUITY SECURITIES

Unregistered Sales of Equity Securities

None.

Use of Proceeds

None.

Issuer Purchases of Equity Securities

The table below summarizes purchases of our common stock during the three months ended September 30, 2023.

Period

 

Total Number of Shares Purchased

 

 

Average Price Paid per Share

 

 

Total Number of Shares Purchased as Part of Publicly Announced Programs

 

Approximate Dollar Value of Shares That May Yet Be Purchased Under the Program

7/1/2023 - 7/31/2023

 

 

312,500

 

 

$

0.00

 

 

N/A

 

N/A

8/1/2023 - 8/31/2023

 

 

 

 

 

 

 

N/A

 

N/A

9/1/2023 - 9/30/2023

 

 

 

 

 

 

 

N/A

 

N/A

Total

 

 

312,500

 

(a)

$

0.00

 

 

N/A

 

N/A

 

(a)

Effective July 5, 2023, we agreed to acquire 312,500 shares of our outstanding common stock held by ARC Family Trust, a related party and greater than 10% shareholder, for no monetary consideration. The acquired shares were then retired. The ARC Family Trust was established by Mr. Ahmad Chatila, a member of our Board of Directors, for the benefit of certain members of his family. Mr. Shaker Sadasivam, the Chairman of our Board of Directors, is the trustee of the ARC Family Trust.

 

 

48


 

Concurrent with the transaction described above and with the approval of our Board of Directors, we issued 250,000 RSUs to Mr. Tony Alvarez, who was appointed as our Board Observer, effective July 5, 2023, and 62,500 RSUs to Mr. William Aldeen "Dean" Priddy, Jr., a member of our Board of Directors and Chairman of the Audit Committee of the Board. These RSU grants will vest upon the one-year anniversary of the date of grant. The RSU grants were able to be made at zero dilution to the Company as a result of the concurrent acquisition for no monetary consideration and retirement of the same number of shares of common stock from ARC Family Trust, as described above.

 

ITEM 3. DEFAULTS UPON SENIOR SECURITIES

Not applicable.

 

ITEM 4. MINE SAFETY DISCLOSURES

Not applicable.

 

ITEM 5. OTHER INFORMATION

(a)
Information required to be disclosed in a report on Form 8-K during the period covered by this Form 10-Q, but not reported.

None

(b)
Furnish the information required by Item 407(c)(3) of Regulation S-K (§229.407 of this chapter)

None

(c)
Furnish the information required by Item 408(a) of Regulation S-K (17 CFR 229.408(a)).

During the three months ended September 30, 2023, none of our directors or officers adopted or terminated a "Rule 10b5-1 trading arrangement" or "non-Rule 10b5-1 trading arrangement," as each term is defined in Item 408 of Regulation S-K.

 

 

49


 

ITEM 6. EXHIBITS

The following exhibits are filed as part of this report:

Exhibit

Number

 

Description

3.1

**

Amended and Restated Certificate of Incorporation of FTC Solar, Inc.(filed as Exhibit 3.1 to the Registrant's Current Report on Form 8-K filed with the Securities and Exchange Commission on May 3, 2021 and incorporated herein by reference).
 

3.2

**

Amended and Restated Bylaws of FTC Solar, Inc.(filed as Exhibit 3.2 to the Registrant's Current Report on Form 8-K filed with the Securities and Exchange Commission on May 3, 2021 and incorporated herein by reference).
 

3.3

**

Certificate of Correction of Amended and Restated Certificate of Incorporation (Filed as Exhibit 3.3 to the Registrant's Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on June 8, 2021 and incorporated herein by reference)

4.1

**

Specimen Common Stock Certificate (filed as Exhibit 4.1 to the Registrant's Registration Statement on Form S-1 filed with the Securities and Exchange Commission on April 29, 2021 and incorporated herein by reference)

31.1

*

Certification of Principal Executive Officer Pursuant to SEC Rule 13a−14(a)/15d−14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

31.2

*

Certification of Principal Financial Officer Pursuant to SEC Rule 13a−14(a)/15d−14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

32.1

*

Certification of Principal Executive Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

32.2

*

Certification of Principal Financial Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

101.INS

*

Inline XBRL Instance Document

101.SCH

*

Inline XBRL Taxonomy Extension Schema Document

101.CAL

*

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF

*

Inline XBRL Taxonomy Extension Definition Linkbase Document

101.LAB

*

Inline XBRL Taxonomy Extension Label Linkbase Document

101.PRE

*

Inline XBRL Taxonomy Extension Presentation Linkbase Document

104

*

Cover Page Interactive Data File (formatted as Inline XBRL and contained in exhibit 101)

 

* Filed herewith

** Incorporated herein by reference

 

50


 

SIGNATURE

 

Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.

 

 

 

 

FTC SOLAR, INC.

 

 

 

 

Date: November 8, 2023

/s/ Cathy Behnen

 

Cathy Behnen, Chief Financial Officer

 

 

 

 

51


EX-31.1 2 ftci-ex31_1.htm EX-31.1 EX-31.1

Exhibit 31.1

CERTIFICATION PURSUANT TO

RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Shaker Sadasivam, certify that:

1.
I have reviewed this quarterly report on Form 10-Q of FTC Solar Inc.;
2.
Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.
Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.
The registrant's other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f) for the registrant and have:
(a)
Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)
Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)
Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)
Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting; and
5.
The registrant's other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):
(a)
All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and
(b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.

 

Date: November 8, 2023

By:

/s/ Shaker Sadasivam

Shaker Sadasivam

Chairman of the Board of Directors of FTC Solar, Inc.

 

 


EX-31.2 3 ftci-ex31_2.htm EX-31.2 EX-31.2

Exhibit 31.2

CERTIFICATION PURSUANT TO

RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Cathy Behnen, certify that:

1.
I have reviewed this quarterly report on Form 10-Q of FTC Solar Inc.;
2.
Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.
Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.
The registrant's other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f) for the registrant and have:
(a)
Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)
Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)
Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)
Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting; and
5.
The registrant's other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):
(a)
All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and
(b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.

 

Date: November 8, 2023

By:

/s/ Cathy Behnen

Cathy Behnen

Chief Financial Officer

 

 


EX-32.1 4 ftci-ex32_1.htm EX-32.1 EX-32.1

Exhibit 32.1

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of FTC Solar, Inc. (the "Company") on Form 10-Q for the quarterly period ended September 30, 2023, as filed with the Securities and Exchange Commission on the date hereof (the "Report"), I certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that:

(1)
The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)
The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

Date: November 8, 2023

By:

/s/ Shaker Sadasivam

Shaker Sadasivam

Chairman of the Board of Directors of FTC Solar, Inc.

 

 


EX-32.2 5 ftci-ex32_2.htm EX-32.2 EX-32.2

Exhibit 32.2

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of FTC Solar, Inc. (the "Company") on Form 10-Q for the quarterly period ended September 30, 2023, as filed with the Securities and Exchange Commission on the date hereof (the "Report"), I certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that:

(1)
The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)
The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

Date: November 8, 2023

By:

/s/ Cathy Behnen

Cathy Behnen

Chief Financial Officer

 

 


GRAPHIC 6 img145300382_0.jpg GRAPHIC begin 644 img145300382_0.jpg M_]C_X 02D9)1@ ! 0$ P # #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" "I A,# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]4Z*** "B MBB@ HJ&ZNX;&!YIY%BB499F. *\9\??'(J\ECX?P2IVM=L,C\!_6O.QF/H8& M'/5?R._"8&OC9\E&/SZ'JNO>*M+\-6[2ZA=I ,[F6# M2,/NS2'Y3^%>,:AJ-UJMP9[RXDN)2?O2-G'TJ;2M!U'7)"EA9376#@F-20/K M7P>(XAQ6)ER86-E^)]UA^'L+AH\^+E=_(M M4U,@W=]+.1R"QKT#0?@#JU^N_4;N.Q4C($?SG\:ZW3OV>](MU/VRZFNR>A'R MUSK+F.U?1 M"? ;PLJ_-#.Q]?.(J.7X!^&FSY:SIZ?O"<4_]6\9'5-7#_67"2T<78\2LO'G MB#3_ /4:K/&O=0>#77:)\>M;L&1+V&*\@'5APY_&NAOOV=8F,CVFJO'_ '8V M0'\,UP^M_"#Q+HRL_P!E%Y'V^SG&5Q@ MBO_E.=5\556'K0U[_P"9X.;9+0PM M+ZQ1GIV_R/8Z***^W/C HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "L?Q-XJT_PGILEY?3*BK]V M//S.>P H\5>)K/PGH\U_>2;54?*O=F[ 5\L^*O%%YXMU62]O'8@G]W%GA%]* M^!_ >H>-M06*!6AM%YEN6'R@>@]37TMX7\)Z?X3T M]+6QA5 !\SD?,Q]2:^/P668G.*GM\2[1_K8^OQF98;)X?5\-&\OR]3S;P9\! M;>W6.YUY_M$F,_9D^X/K[UZQIVE6FDPK%:6\<$:C&$4"K=%?H>%P&'P<>6E' MY]3\^Q6-KXR7-6E?\@HHHKT#A"BBB@ HHHH P?$'@?1?$T>R_L8Y3V8#!_,5 MI:3I-MHFGPV=I&(X(EVJHJY16,:-.,N>,4F:NK4E%06&=.7Q_B M?3$,R7$:R1L&1AD$5)7BW@+Q_+HLT5A>,9+1VPLA/W/_ *U>S1R+-&KH=RL, M@U^P<-<287B/"*M1=I+XEV9\WCL%4P-3DGMT8^BBBOL#S@HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "HYYDMH7ED8) M&@RS'L*DKR;X[^,&TS3(M(M92L]US(5/1.X/UKAQN*C@Z$JTNAV83#2Q=:-& M'4\U^*/CA_&.O.L3'^S[<[85S]X_WJH>!?!=UXVUI+:)2MK&09YL<*OI]:Y^ MWMY+J:."%2TDC!54>IKZI^'/A&/P?X;@M=O^DL-\S=]Q[5^;9;A9YSBW6K?" MM_\ (_1LRQ,,FPD:%#XGM_F;6B:+:>'].BL[.(10QC' Z^YJ_117ZI&,8148 MJR1^7RDY-RD[MA1115DA39)%AC:1V"HH+,QZ #J:=7SK^W-\=!\%/@GJ#60S#YF(]-N:N$'4DHKJ9U*BI0!_B=X5^)5O=3^%].J8J MHX\MDCZ U?6++0=-N-0U&ZCL[*W0R2SS-M5%'4DUYJO[57PC9@:7 M T^H:C<+;PQ*>6)//Z9JL/@E5I^TF[$XK,71J^RIJY^^G@SQ]X>^(FEOJ7AO M5K?6+%9#$;BV)*[AU&<4OC+QWX?^'FC_ -J^)-6MM&T[>L7VBZ?:NX]!]:PO M@A\+['X._"_0/"M@ORV-LJRR$?-)(>69O4Y/Z5^C[22U/T#;]JKX1JI)\?Z-@ M+S;6\A^[(IZ'Z&OQ=_9O^#]S\T\/Z3::;80+;65K$L,,,8PJ*!@ 5Y M^>9/A,90>$Q"YE)=>A>68^O-^V2Y;'S?GG6"_O+\&?3M%9'A?7(_$&C07:')888> MC=ZUZ_KW"XFGC*$,12=XR5T?F\X2IR<);H****ZB HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH BN;A+6WDFD.$C4LQ]A7R3X MRUZ7Q)XFOKZ1MRLY2/TV#I7T9\5=:;0_!-_,G^L=?+ ^O!KY853\JCJ3C\Z_ M/.*,0Y2AAH^I]_PQATE/$R]#U'X$^$UU;6I=5N$W06G$>>GF?_JKZ%KE_AOX M;3PSX4L[;"^!?"M]JMY)%9:;IML9&9CM1%4<#V["OF[_ ()Y_ I?A3\&X=;O MH%77O$6+J9\$$0XS$I!Z$ G->>_\%/OCJ?#GA&P^'6EW)2]UD>=?[""/LX.- MC>A)P:QKR>+Q"@MCHPT5@<*ZDMV?G]\;OBE??&7XHZ]XLO6<"\N&^SPNV[R8 M@<*@]N,_C7UE_P $PO@5_P )%XLU#XCZI;;K+2_]'T\2IP\QY,BG_9Y'XU\3 M^&?#=[XN\0:9H>FH7OM0N$MH0 3AF. 3CL*_=?X'?"VQ^#?POT+PK8Q+$MG MOG%>C3$9D;\6S7=CJBHTE2CU/-RZB\16=:?0R_VDOB_:?!'X0Z]XEN'_ -(B M@:.UC!PSRL-JX]<$Y_"OPTUC6+O7M6OM5U"4W%_>S-<3RGJSL_ M9>J6ZG+GZ]*>"IJA1=674G,*KQ-=48;+0_0C_@F=\"_^$'^&UQXYU*WV:MXA M'[@MPT=J#PI'^\,U]IU2T;2;?0=)L].M(UBMK6)88U4 *H '\JNUX%6HZLW M-GU-"DJ%-4UT(KFW6Z@>)QE6&"#7SMXHT=M!URYM-I$88M'GNOK7T=7F/QET MD&WM+Z./YD;;(_MV_6OQGQ+R6.892\7%>_2U]5V/JLCQ3H8E4WM(S/A#KC6N MI2Z;(W[J4;UR>A'85[#7S5HNH'2]8L[KM'("<=Z^D+:036\;CHR@UQ^%N;2Q MF62P=1WE2?X/8US_ ZI8A5(K21+1117[8?+A17E/B3]J;X5^$=:N=(U?QGI M]GJ-LVR:!V8LA]#@5SLW[='P-MY&C?X@Z<'7J-LG_P 36JI5'M%F#KTEO)?> M>\45X)_PW;\"O^BA:=_WS)_\34]G^V_\$+YF$/Q TUBHR>''\UH]E4_E8?6* M7\R^\]THKS/6?VD_AKX?\/Z1K>H>++*UTK5T,EC*PO^&R_@S_T M/FF_^/\ ^%)4YO:+&ZU-;R1[317BW_#9?P9_Z'S3?_'_ /"C_ALOX,_]#YIO M_C_^%/V53^5B]O2_F7WGM-%>+']LSX,@$GQ[IN/^!_X5ZEX4\6:3XXT"TUO0 M[V/4=+NUWP7,6=KKZC-3*$H_$K%QJ0F[1=S7HI"P4$DX ZFO,?'7[3/PQ^&M MR;?Q#XQTVPG'6/S/,(]OE!I1C*6D5<%?$-EK%NS%1Y,F&R/\ 9.#^E7*E M..LD1&M3F[1DF=E11161L%%%5WU"UC8J]S"K#J&< T 6**IIK%A(Q"WMN2/2 M5?\ &K2.LBAE8,IZ%3D4 .HHHH **BGNH+7!FFCBSTWL!_.J,?B32I9WA74+ M01L5>>-&'4,X!H FHIDF5.13Z "BBB@ HHJ*2ZAA;;)-&C>C, : ):*CCN(IL^7*DF/[K U)0 M 445%-=0V^/-FCCS_?8"@"6BJW]IV?\ S]P?]_%_QH_M.S_Y^X/^_B_XT 6: M*;'(DJ[D977U4Y%.H **** /'OVB;QH]+TRW#$"25MR^V*\B\'V*ZIXJTJU= M=TL3X*6J77CR$.N[RXF<>Q'>ORS'_P"T MYPH=FC].P'^RY,ZG=-GTO%&(8U1?NJ !3Z**_4DK*R/S$****8!39'6-&=F" MJHR6/ ]:=7C_P"U7XH\4^&_@WK2^#-%NM;\17T1M;>&U3<5###,?3"D_C51 MCS22(G+DBY=C\R?V\/CDWQE^-UY;6_$&MZ;X%\*WNJ7A6UTO3+9II-HX2-%S@#Z"OPL^.'Q1O/C+ M\4]?\67C[A>3D0!?NK"O"8';Y<5^FO\ P4.NO'^M_#JR\'>!?#>HZQ_:TFZ^ MNK ?ZF-.0A]FK\Y;']E'XNWUY;6O_"O]8A2:18S(8@ BD@%NO8<_A7/E\84T MZDWJ=.:2J5)*E!:(^DO^"8/P+_X23Q??_$?4K?=8:5NM=/+?=>8\.2/]D8Q7 MWC^T;\7K7X(_"/7/$\[H+F&(QV<3_P#+6=A\J_S_ "J_\"_A99?!KX7Z%X5L MU7-G HGE50#+*1\SGW)_E7Q;_P %&-*^*'Q8\8Z;X5\,^#M6U'PUI:">6XMX M\Q7,S<@CGJO2N1R^M8B\GH=\8/!X2T5[WZGYZ:QK%SKNJ7VJZA,\UW=RM/+) M(2X#W=Y>1@1K&IRRD^XR*_9C0]&M/#NCV6 MEV$0@LK.%8(8QT5%& /RKLQ^(CR*E \_+,-+G=:HMB]1117@GTX5SWCK2?[7 M\-WD6<%4W_ES70U5U*,2Z?9F=".)P5:E-73B_R-J,G"I&2Z,^9 MMWRYZ$V_"N1I/"L )R%.!]* M_FCPNJ2P^;U\+W3_ /NN((\^&A4['8TC?=-+2-]TU_51^?,_!W]HI0?C[\0 M>Y_M>;J?I7+^'? ?B/QC',^@>'=1UQ(3ME:PMFE$9/8XZ5U/[17_ "7SX@?] MAB;^E?;W_!))C_PC?C\<[?ML)]L[*^NJ570H_P#A7[Z45Y?]J3_E1[/]CT_Y MV?DC\?/AQXMNOV9_@=80^%]6EOK.QD6YM4M6,D)WGAQV-?.7_"H_'7_0E:[_ M . 3U^_3*&Z@'ZBF^4G]Q?RK.GF$J<;RV>H6DU MC>1'$EO<*4=/J#TJYH/A+6_%+3+HFC7VL-" 95LH6E,8/0MCI7KO[;P"_M4> M.\# \^/_ -!KZ+_X))J#XF^) (!_T>U_FU>S4K^SH*K8\"EAO:8CV%SXKE^$ M7CHQM_Q16N]#_P N3U^Q'['D,OA/]EOP<-:ADTE[.P+W"7B^6T0!))8'IQ7N M7E)_<7\J^,?^"FGQGNO GPOL/">DS>3=^()&CN6C;:\<"C/'L3Q7C3Q$L:XT MK6/H:>%AE\95N:^A\Y_M;?MZ>)/'GBF]T#P#J\VC>%[5C";RU;;+=D<,=W]T MU\?1PW>L:@(XTGU"]G8D(N9'=CUX]:GT#0KOQ)K6GZ-I<#7%_>S+;V\"=68G MH*_9/]F3]CWPA\!_#5M*]C%JWB6XB5[O4+R)696P"50'[N#QQZ5Z52=+ P2B MM3QZ5.MF-1RD]#\DK[X'_$#3]-&H7'@G6H[,KO\ --FV OJ?2N?\,^*=9\%Z MS'J>@ZI=Z-J=NV%GM9"C(1VQ7]!LD$M1H1%<+TVL?[X[^M?7S,%4D\ 'O#6G1:?IUJ@0+&HW.1_$Q[D^IK9UZ.6;1;U($?$KXQ:AJ6I2V6B7#V5E Q7SXCAY2.OX5P%GI>L>*+ MIGMX;J_E8X:5>*K>QMK^5K*,$S1S? M,BKZ>Q]*^C&5)HR&"NC=CR#56ST6QT^XEGM;6*WEE #M&@7./I2N!=KR[XD_ M&2'PU)-IFEJ)]44[9&8?)%_B:[/QQX@'ACPO?ZAP9(XSY:DXRQX%?),DD^H7 M;.Q::XG?//+,Q- %W6/$.J>([D27]Y-=2$_(I8X'L!35\.ZLT8E&FWIC/\81 ML?G7T+\-?A78>&]/AO+R!;G4I4!8R+D1YYP!ZUZ$(T5-@10G3;CB@#X^T;Q/ MJ_ANX5K"]FMBC9:/<=K8[,*^@OAG\5K?QHIL[I5M=4C7)7/RRCU7_"J'Q4^% M5GK.GW&IZ; MOJ42[V6,8$B@13W ^T* M^6OBY<3+\0]5"RR*,KPK$#I7TIX=U==>T.RU!!M%Q$'V^F>U?-'Q>_Y*)JOU M7^5) >L_L]R/)X+G+LSG[6_+'/I7I]>7?L\_\B3/_P!?6++L:WES&/]G.5_2OI MGX:>)U\5>$[2Y+;KB,>5-_O#_(I,#JJ^??VB99/^$HTZ,.PC^RD[02!G=7T% M7SU^T3_R-FF_]>A_]"H0'F5K8W=^Y2UAN+EQU6+U>U7=-IU]$OJZ, M*]'_ &>?^1COO^N5>_R1),NV1%=?1AD4P/D?0_'6O>'I(_L>HS+'&<^0[90_ M45]!_#+XD0^.;%HY@L.IPC][$.A'J/:N*^/7@NRL[&WUFRMTMY _ES>6 H8' MIQ7!?"?4I=-\?:4(GV+<2>3)[J>U 'U51114@?.W[0#%O&=LA/RBU! _&H?@ M+$6\<-(.BV[#%7OVA+5D\26=SCAH=F?QS67\#;H6_CI03A9(&7'O7Y;/W<\; ME_,?ID?>R*T?Y3Z5HHHK]2/S,**** "DKPS]L+]H)/V??A)>ZK:3(OB&\(MM M,C90^)3T=E[J,+;_X2Z#?>-[N.\\0WD(N9FCC\L*K@,J;?4 UX!^WY M^UIK/P)M]#T#P;=PP>)KTFXF::(2*EN./SS6$*4JD_9QW.BI6C2I^UEL?8E% M?CYH?[?7Q^\2:UI^D:=K-A/J%].EO!']B'S.QP!7ZS>!;;5[3PCI,>OW0O=9 M^SHUW,J; 9" 6 'L>/PK2OAY8>W,S'#8J&*OR+8WJ2OSU_;6_;K\4_#WXG#P MC\/+VUM_[,7&HW$L0DS,?^6>.V.*\Y^ O[8'Q_\ C-\6-!\+66M61CN9PUU* MNGJPAA'WG(]*UC@ZCI^T>B,I8^DJOLEJS]4*6F0JZQ()&WR!0&8#&3W.*?7 M>F%%%% !4')03D"4@5X]>2_:+NYE_OR,WYFO;/A9;^3X6@; 'F?-Q7\L M>'B]MQ/5K0^&TOQ/T#.O?P<\$^*-*\0:7IFI1ZE MILZW-N\E^S*''0D8YKRI8G#.+2@>U#!XR,DW4T/I8=!2T45XI]$?B7^V\?\ MC*CQW_UWC_\ 0:^B_P#@DC_R,_Q(_P"O>U_F:^=/VWO^3J/'?_7>/_T&OIS_ M ()+1J+CQZ^T;RL +=R,FOI<1_N:^1\AA?\ ?WZL_1BORR_X*J37C?&3P[$Z MM]@&EAD;MYF\Y_2OU-KX4_X*G_"^ZUSP#H?C*QBWIH\Y2^;N(F&%('^\:\C! M24:\6SW,[G&<*/>OV^K^?;P1XM MO/ /C+1?$NG@&]TJZ2ZA#="5/^%?N!\!?CIX>^/'@/3]>T:\B:Y>)?M=EN'F MV\G0JR]N:[=D]6/*Z;W/2J**\S^*G[1G@'X-7%E;>)]=AM+R[D6 M..UC(>09.-S+GA?>O&C%R=DCZ&4HP5Y.QZ92$!@0>0:KZ;J5KK%A!>V-Q'=6 MDZ"2*:)MRNIZ$&K-25Z'@WQ$^"=\FI3:AH2+<6\S%FMFZMU&%AG.5KUKP/\2$*L@.8W M8]AZ5!\2_A#HTNE76J6)73+B%3(W.(V'ICM7@,4SP2QRQ'$B,&4CU!I@?0W[ M0BLW@VW*M@"Z4GWB/@N.&3Q9I(G8+']H0Y/KGBOHGQGHLOBCX:M%Y>^\^ MRI*@_P!L*#_C7S!;7$EES T(#[5HKF/ 'C2V\::%!]=/4@-D4,C!AE2,'-?&6KA%U6_"?<\^3'_ 'T:^EOBIX\@\)Z# M/%%(K:E.NR.('YE!_B_"OF.*&6^NDB4%YIWV\#J2>M4@/ISX,-,? =EYR[?F M8)[KVKP_XN_\E$U7ZK_*OI/PII)T+P[I]@V-\,*JQ'+KJ97+6MMF&$'L!U_6O7O@- MX=.E^%6OI8BEQ>.3N/=!]T_SKYS))Y;+,>I]36G;^*M:M84A@U6^AA086.-R M%4>@%4!ZI^T)X7,OVB? M^1LTW_KT/_H5>V^$=?B\3>'[/4(V#^:@WX[./O#\Z\2_:)_Y&S3?^O0_^A4@ M,SX-^*M,\*ZW(O#>FR7UW;1FWCY&RA@P1:2N8)5$AE/+2$CJ: .@HHHJ0/&/VBK/\ T72K ME5_Y:,K-[8KS#P#??V;XRTF5FV)YP5V/0 U[[\9M+;4_ MYYL#7O">G7@ZO$ 1Z8X_I6_7Z91J*K3C4757/S:I!TYN#W04C,%4DG '))I:^ M=?VYOCM_PI/X*WS64ZQZ]K(:RL4[G(P[ ]BJG-=%.#J245U.>I45*#G+9'Y[ M_M[?'(_&/XV75G93^9H/A_=96V#PTG_+4GU^8<5@_L7?!T_&7X\:+9W$3R:1 MICB_O'0? M);^W5-:\1G[1O9<.EOGY$/XY-?2XB2PN'Y([GQ^%C+&8KGEMN?4GB+7K#P?X M=O\ 5]0E6TT[3X&FED/"HBC-?A7\=OBG>?&;XK:_XKNV^2ZG9;>,,2L<2G"[ M<] 0 :_0/_@IS\=V\*>";+X?Z5Z?UK[_ /VD_C':? WX1ZYXEF:,WD<)CLH) M#CSIFX51[]3^%3_L[?".U^"/PET/PM!&J3P1"2[9.CW# %V_.OSQ_P""EWQS M;QQ\3+;P+I\Y.DZ ]RJME);AN0P_P!T<5QZXS$^1Z&F7X3S?YGQ]K>M7GB+ M6+[5]1G:XO[V5IYYG/+,3GFOTQ_X)A_ H>&O!=[\1-3MPNI:P?)LMX(>*W'W MO^^C@U^?WP+^%=Y\:/BIH'A.SC+K=S!KGG&V!>9#GL<5^ZWAKP_9^%/#^G:/ M81^796,"6\2_[*@ 9]^*[,PK?E5!U)NM+H:=%%%?/'U84444 %8OC# M4(]/\.WTDAP#&5'U(Q6U7G'QDU0PZ;;62$'SG^<>PY%?+<3Y@LLRBOB7TBU] M^AW8&B\1B(4UW/(U'R =SQ7T+X(T]]-\,V,$GWUC&?YUX1HEC_:6L6=K@D2R M!3CM7TC;QB*"-!T50*_$_"7 N4\1C9+31+]3ZKB2JO^/I&7$!AL#4HXCVLMM3TFBBBO'/?"BBB@#\2OVWR/ M^&J/'?/_ "WC_P#0:^GO^"2Q_>>/._RP?S-?1OQ&_8/^&'Q2\;:GXIUNWU%M M4U!@\[0W6U20,<#'%=C\#?V9?!G[/;:F?"<5W&=1VB?[3-YF=O3''%>Q6Q=. MIAU26YX-# U:>*=9[:GK-8OC/PEI_COPMJ>@:I$LUC?P-!(K '&1C(SW'4?2 MMJBO(3L[H]UI-69^)'[2W[*?B?\ 9S\53PRVT^I^&)6+6.K0QEE*_P!U\=&' M?M7EO@[Q[K_@'4AJ/AK6;G2KH'.^VD(4GW&<'\:_?O6M#T_Q%IL^GZG9PW]E M.A26"= R.IZ@@U\T>-?^"<'P>\8:A->)87VBO(=PBTVX\N)?HN.E>Y2S"+CR MUD?-ULKFI.KIH",'9$J,1[DJ7_B+4C/?W M-SJNH2GAIF:61L]E!R?P%?I[I_\ P2I^'D=U<->ZWJT]NQ_ MIY=_P3?\#_$WPG\/[JX\77,D7AB] ETG3+O)GBSU?GHI&,"OKG7);N'1[Q[" M+S[Q8SY4><;F["KRJ%4 # ' I:\&I/VDG*Q]+1IJC!03O8^/+[^VO#^L327 M/VFQO?,+NV2/FSW/0UTFG_&SQ19JRR7J7>>AD4VD-RGI M(H-<]=?"GPO=8_XE<46/^>8Q47-CYXU_XD:_XDM7M;[4-]JYR85 K0^&?@& MZ\7:Y \D+QZ;"V^65A@-CHH^M>]6?PN\,6:@#28)2/XI!N-=-:VL-E"D,$2P MQ*,*B# %%P'1Q+#$L:C"*H4#V%>&_%SX3W"WTNLZ+;^;%)EY[>,[ 5[K1 M2 ^,M/U2^T&Z\ZUGELI_Q7\Q70-\6O%;P^6=98KT^Z,_G7TGJ'@W0]6E,EWI M=M/(>K,@S65-\)_"\TJO_9<:;?X4X!IW ^79)KO6+HR.TU[.QY;ES7MGP?\ MA3/IERNM:S JS;/X5ZAI?A72-#8M8:=;VK$8+1H :U:+@%?*WQ> M/_%Q-5^J_P J^J:R+WPGHVHW3W%UIMO/._WI'0$F@#Y5T3QCK/AN%XM-OWM8 MV.YE49&?6M9?BYXN1<#6&Q[QJ:^CO^$%\/\ _0(M/^_8H_X07P__ - BT_[] MB@#Y[TOXL^+;C5+*%]79DDG1&'EKR"P!%:'QT\4#6O%0L(I ]K8C'R_WS]X5 M[K'X)T&.1732;574[@PC&01WITW@O0KB9Y9=*M9))#N9FC!)/K0!Y-\ _!J7 M1NM;O(5DC_U4"2+D'U8?RKVC^R+'_GRM_P#OTO\ A4EC8V^FVJ6]K"D$"<+' M&, 5/0!4_LBQ_P"?*W_[]+_A7SK\;/"/_".^)C>P1[;*^^88&%5^ZBOI6J6I MZ-8ZS&D=]:Q72(_\ 7*O?[BWCNH9(94#QR*596&00:HZ;X=TS1Y&DL;&&U=A@ MM&N":TJ /EKXH^ 9/!>M$Q(3IEP2T+XX7_9-=M\"_B#M;_A'K^7CK:R,?_'* M]DU'2K/5X1#>VT=S%G.V1VB M7UI-;R#,O!PFM8]=MH_ MWL7R3[1U7L3]*^3XBP3Q.']K!:Q/J>'\:L+B?9RVEI\RC\ O%HAFGT.YDP'_ M 'D!8]3W45[E7QGI6I2Z1J-M>V[E987#@KUQW%?6/A#Q1:^+M%AOK9@=PPZ= MU;N#6'#F8*M1^KS?O1_(WXBP#H5OK$%[LOS-IF"J23@#DFOQP_;\^,K?%;X\ M:A8VLS-HWAXFQA3=E&E'WI%^O3\*_2C]KSXP)\%O@;K^LQS)%JD\1M;!7_CE M;C'Y9K\1)KAYY))I':661B[$G+,Q.?QZU^G9;1NW5?0_+,VKV2HQZGK'[+7P M9F^.GQHT3P^8V;3(I%N]1=>J0*>3^>*_;+4K_3O OA2XNYMMMIFEVK2,%PH5 M$7.!^ KYE_X)Z_LZO\(?AC_PD.L6X3Q%X@"W#!N6AAQ\B@^A&"17'?\ !3KX M[+X5\#6GP]TRY5=4UO\ >W@4D/';@\$'W88K+$2>+Q"A'9&V%@L#A75EN_Z1 M^?OQZ^*UY\:OBOKWBNZD9XKF8QV@88VVZG$:X]<5]*?\$S?@7_PFWQ$N_'NI M6^_2]!_=VA89#W)X((/4!3FOC?1](N_$&KV.DZ=";F^O9E@@A3J[,<8%?N;^ MSE\(K/X)_"/0/#-LBFXA@5[J;&&EE;EBWN,X_"N_&U%1I*E'J>;E]%XBNZL] MD6?C_P#%6U^"_P )]>\4W$BQR6L!6V#=&G8$1K^)K\*M.1PM-(D48W22-M4>I-?S1XG9^\35ADN%=]?>MW['W&08-1B\74^7^9W MWPAT?[5JD]^XRD(V $=SWKV*L#P7H"^']#@M\?O<;G/N:WZ_8.#LG_L7**5" M2M)ZOU9\WF6)^M8F51;;(****^W/+"BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ JO?V,.I6JYZ5:^&OCJ7P7K2ER6L)R%F3/3_:%?0?C MCP9:>--'>UG7;,HS#*!RC5\LZUH]SH6I3V%VFV:)BO3AAZCVK\LS+!U;K'4OW++CQ'XGL+Z M_P!4F 4O]K8*JC^%1C@5[C17K1E*#O%V/,E"-16DKH\#\"_L._"7X=^*K#Q% MH^AS)J=BXEMY)K@NJ,.C8(ZU[Y111*W6IZA,T\\GVQ@-Q]!C@>U=%\'_P!E'X=? W7[G6O">ES6NH7$/V=Y M9IS)\FE>P457M9M&^)/$UWXFO#-<-B-2?+B'117Y;QE MQEA\AP\J%"7-7DM%V\V>]EF63QDU*2M!%35=4GUF^EO+I]TCG..P'I7;_"_P M?)>W2:K=)B!/]4K#[Q]:PO!/@V?Q1?*[*4L8VR[G^+V%>[V=I'8V\<,2A(T& M !7YCP'PK7S7%?VUF:;5[J_5]_0]W.,PA0I_5,/\_(EZ4M%%?U ?"!1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !7(>/OAU8^-K%@RK!?*/W=PHY'L?:NOHK"M0IXB#IU%=,VHUJE":J4W9H^5 ME^%^N+XEAT>>U=/,?!N%&4V^N:^F/#^B6_AW2;>PMEVQ0KCW)]:T-HSG'-1W M,PMK>25ONHI8UY.!RVAE:G4B_P#@(]/'9G6S%0C4Z?BR&ZU:SL9DBN+F.&1_ MNJ[ 9JRDBR#*G(KYW\6:_+XBUN:Y?*(AVQ*>P'>I-'\::OH;#R+II(^Z2?-7 MY*_%/"TD_9IV4EN_D>G_J_5G1C.$M7T/H:BO+M+^,L8XO[1D]XOFKH MK+XH:'> EI_L_P#UU&*_0L'QED>-2Y,3%-]'N>-5RW%T?BILZ^BL)?&NC,H( MOX2#T^:H6^(&A+G_ (F,/YU[4LZRZ*NZ\?O.3ZO6>T']QT=%<1?_ !:T:S8H MADN#V:-19?%MUU-KI'5GH4;>).8YLWA,HI./-I?=_\ /IL M/D5'#KVF*E>WW#-0U"YU2X:>\F::0_Q,>E=#X0\"WGB2XCDD1H;#.3(>"P]! M77>%OA*EO(EQJK"9QR(5^Z#7I$-O';QK'&BHBC 51@"N[AKP[Q.,K+,,\;[\ MKW?J8X[.H4X^QP:^?^1#INFP:39QVUM&L<:# "U:HHK^DJ5*%&"ITU:*V1\1 M*3D[L****U$%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !2,H8$$9%+10!S6O> =*U[UE<+.@^[&P^;\Z]CHKX;-N#,GSAN=:DE)]5HSU,-F>*PND):=CY MSO\ PKJVE\7%C(O^[\W\JS)+>1/OP.O^\I%?2-]7F7C#_72_[U?SKQ-PA@\D M;>'G)^I]?@=Z#\'X8]LNISF9P?]7'PN/0UW^FZ M/::3 L5K D2+T"BKM%?T;E/#F69+'EPE))]^K/C\1C*^*=ZLKA1117TQQ!11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 +%%%% !1110!__]D! end EX-101.LAB 7 ftci-20230930_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Remainder of 2023 Lessee, Operating Lease, Liability, to be Paid, Year One Collaborative Arrangement and Arrangement Other than Collaborative [Domain] Collaborative Arrangement and Arrangement Other than Collaborative Document Transition Report Document Transition Report Revenue, Remaining Performance Obligation, Amount Revenue allocated to remaining performance obligations, amount of revenue expected to be recognized Purchases of property and equipment included in ending accounts payable and accruals Purchase Of Property And Equipment Included In Account Payable Purchase of property and equipment included in account payable. Stock issuance costs Payments of Stock Issuance Costs Stock offering costs paid Inventory Impairment, Policy [Policy Text Block] Impairment Geographical [Axis] Geographical Condensed Financial Statements [Table Text Block] Revision of previously issued financial statements Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest, Total Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest Loss from operations Other Liabilities, Noncurrent, Total Other Liabilities, Noncurrent Other non-current liabilities Increase (Decrease) in Prepaid Expense and Other Assets, Total Increase (Decrease) in Prepaid Expense and Other Assets Prepaid and other current assets Restricted Stock Units (RSU) Restricted Stock Units (RSUs) [Member] Unaudited interim financial information. Unaudited Interim Financial Information Policy [Text Block] Unaudited Interim Financial Information Shares issued for legal settlement Shares issued for legal settlement Shares issued for legal settlement, shares Lease payments and other, net Increase (Decrease) in Other Operating Assets and Liabilities, Net, Total Increase (Decrease) in Other Operating Assets and Liabilities, Net Lessee, Operating Lease, Liability, to be Paid, Year Four 2026 Long-term borrowings or other material obligations Other Long-Term Debt Other Long-term Debt, Total Revenue from Contract with Customer, Excluding Assessed Tax, Total Revenue from Contract with Customer, Excluding Assessed Tax Total revenue Revenues Description of business. Description Of Business [Table] Description Of Business [Table] Investment tax credit, percentage Effective Income Tax Rate Reconciliation, Tax Credit, Investment, Percent Lessee, Operating Lease, Disclosure [Table Text Block] Summary of Supplemental Information, Operating Lease Proceeds from disposal of investment in unconsolidated subsidiary Proceeds from Sale of Equity Method Investments Prepaid Expense and Other Assets, Current [Abstract] Payments to Acquire Businesses, Net of Cash Acquired, Total Payments to Acquire Businesses, Net of Cash Acquired Acquisitions, net of cash acquired Acquisitions, net of cash acquired Concentration Risk Type [Axis] Concentration Risk Type Equity Method Investments and Joint Ventures [Abstract] Short-Term Debt, Type [Axis] Schedule of Business Acquisitions, by Acquisition [Table] Vendor Deposits Vendor deposits Vendor deposits Contract with Customer, Liability, Current Deferred revenue Interest expense, net Interest expense Interest Income (Expense), Net, Total Interest Income (Expense), Net Title of Individual [Domain] Trade receivables Accounts Receivable, Held-for-Sale Goodwill, Acquired During Period Addition due to HX Tracker acquisition Stock issued for accrued legal settlement Stock issued for accrued legal settlement Operating lease liability, net of current portion Operating Lease, Liability, Noncurrent Purchase shares of common stock Purchase Shares of Common Stock Purchase Shares of Common Stock Repurchase of treasury stock Repurchase of treasury stock Stock Repurchased During Period, Shares Outstanding common stock Common Stock, Dividends, Per Share, Cash Paid Schedule of Stock by Class [Table] Pile testing and equipment installation business Pile testing and equipment installation business [Member] Pile testing and equipment installation business [Member] South Lake One LLC [Member] South Lake One LLC [Member] South Lake One LLC [Member] Class of Stock [Line Items] Retire Aggregate Shares of Common Stock. Retire Aggregate Shares of Common Stock Retire aggregate shares of common stock Acquisition of pile testing and equipment installation business Goodwill Acquisition of pile testing and equipment installation business Goodwill Acquisition of pile testing and equipment installation business Related Party Transactions [Abstract] Balance Sheet Location [Axis] Balance Sheet Location Assets, Current Current assets Total current assets Revenue recognized included in deferred revenue Deferred Revenue, Revenue Recognized Total liabilities and stockholders' equity Liabilities and Equity Entity Address, State or Province Entity Address, State or Province Issuance of common stock, value Stock Issued During Period, Value, New Issues Sale of shares Taihua New Energy [Member] Taihua New Energy [Member] Reduction in workforce Reduction in workforce Reduction in workforce Comprehensive loss Comprehensive loss Comprehensive Income (Loss), Net of Tax, Attributable to Parent Inventories, net Inventory Disclosure [Text Block] Trading Symbol Trading Symbol Common Stock, Shares, Issued, Total Common Stock, Shares, Issued Common stock, shares issued Common stock issued for notes purchased Retainage provisions included in receivables Retainage Provisions Included in Receivables Retainage provisions included in receivables. Prepaid Expenses and Other Current Assets Prepaid Expense and Other Assets, Current Prepaid and other current assets Total Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Table] Equity Method Investments [Policy Text Block] Equity method investments Selling and marketing [Member] Selling and Marketing Expense [Member] Schedule of Long-Term Debt Instruments [Table] Debt Instrument [Table] Shares, Outstanding Ending balance (in shares) Beginning balance (in shares) Product and Service [Member] Product and service. Reduction in force Workforce Activity Disclosure [Text Block] Workforce Activity Disclosure [Text Block] Available borrowing capacity under the Credit Facility Line of Credit Facility, Remaining Borrowing Capacity Lessee, Operating Lease, Liability, to be Paid, Year Three 2025 AOCI Attributable to Parent [Member] Accumulated Other Comprehensive Loss Loss from unconsolidated subsidiary Income (Loss) from Equity Method Investments, Net of Dividends or Distributions Income (Loss) from Equity Method Investments, Net of Dividends or Distributions, Total Other Comprehensive Income (Loss), Net of Tax, Total Other Comprehensive Income (Loss), Net of Tax Other comprehensive gain (loss) Equity Method Investments [Table Text Block] Summary of Equity Method Investments Entity Address, City or Town Entity Address, City or Town Related Party Transaction [Line Items] Workforce Activity [Abstract] Workforce Activity [Abstract] Debt Disclosure [Text Block] Debt and Other Borrowings Property, Plant and Equipment [Table Text Block] Schedule of property and equipment Common Stock, Capital Shares Reserved for Future Issuance Value Common Stock, Capital Shares Reserved for Future Issuance Value Common stock, reserved for future issuance, value Subsequent Event [Member] Subsequent Event Subsequent Event Type [Axis] HX Tracker Member HX Tracker [Member] HX Tracker Dimension energy member. Dimension Energy [Member] Dimension Energy LLC Additional Paid-in Capital [Member] Additional Paid-in Capital Non-US [Member] Non US [Member] Schedule of Operating Leased Assets [Table] Liabilities, Current [Abstract] Current liabilities Assets, Current [Abstract] Current assets Allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current Allowance for credit losses Counterparty Name [Axis] Counterparty Name Preferred stock, par value Preferred Stock, Par or Stated Value Per Share Condensed Consolidated Statement of Stockholders' Equity Statement of Stockholders' Equity [Abstract] Reserve against revenue Reserve Against Revenue Reserve Against Revenue Current portion of operating lease liability Operating Lease, Liability, Current Operating lease liabilities, current portion (included in Accrued expenses and other current liabilities) Property and equipment, net Property, Plant and Equipment, Net Property, Plant and Equipment, Net, Ending Balance Property, Plant and Equipment, Net, Beginning Balance Property and equipment, net Class of Stock [Domain] Class of Stock Requirement to maintain minimum liquidity limit each quarter Requirement to maintain minimum liquidity limit each quarter Warranty recoverable from manufacturer Warranty recoverable from manufacturer Warrants Recoverable From Manufacturer Warrants recoverable from manufacturer. Business Combination, Contingent Consideration, Liability, Total Business Combination, Contingent Consideration, Liability Business acquisition liability Collaborative Arrangement and Arrangement Other than Collaborative [Axis] Collaborative Arrangement and Arrangement Other than Collaborative Treasury Stock, Common, Shares Treasury Stock, Shares Entity Central Index Key Entity Central Index Key Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table] Tooling [Member] Tools, Dies and Molds [Member] Surety collateral Surety Collateral Surety collateral. Related Party [Member] Schedule of Accounts Receivable Allowance for Credit Loss Accounts Receivable, Allowance for Credit Loss [Table Text Block] Increase (Decrease) in Other Operating Assets, Total Increase (Decrease) in Other Operating Assets Other assets Preferred Stock, Shares Outstanding Preferred Stock, Shares Outstanding, Beginning Balance Preferred Stock, Shares Outstanding, Ending Balance Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Revenue allocated to remaining performance obligations, expected timing of satisfaction Schedule of Goodwill [Table Text Block] Schedule of goodwill activity Liabilities, Current Current liabilities Total current liabilities Entity Tax Identification Number Entity Tax Identification Number Loss before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Pre-tax income (loss) from company's operations Loss before income taxes Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Impact on cash from changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Related party receivable Increase (Decrease) in Due from Other Related Parties, Current Closing of an acquisition Business Combination, Indemnification Assets, Amount as of Acquisition Date Employee related liabilities Employee-related Liabilities Employee-related Liabilities, Total Investment, Name [Axis] Investment, Name Related and Nonrelated Party Status [Axis] Lessee, Operating Leases [Text Block] Leases RSUs Restricted Stock Awards [Member] Restricted Stock [Member] Other General Expense Working capital and operating expenses Geographical [Domain] Geographical Assets Total assets Short-term Interest Bearing Loan & Customer dvance Short-term Interest Bearing Loan & Customer dvance UNITED STATES United States [Member] Operating lease right-of-use assets Operating Lease, Right-of-Use Asset Related party accrued cost of revenue Related party accruals Related party accruals Entity Registrant Name Entity Registrant Name Proceeds from Issuance or Sale of Equity, Total Proceeds from Issuance or Sale of Equity Sale of common stock Lessee, Lease, Description [Line Items] Related Party, Type [Domain] Related Party Retained Earnings (Accumulated Deficit), Ending Balance Retained Earnings (Accumulated Deficit), Beginning Balance Retained Earnings (Accumulated Deficit), Total Retained Earnings (Accumulated Deficit) Accumulated deficit Supplemental Cash Flow Information [Abstract] Supplemental disclosures of cash flow information: Retained Earnings [Member] Accumulated Deficit Class of Stock [Axis] Class of Stock Settlement Member Settlement [Member] Settlement Member Deferred Income Tax Liabilities, Net Deferred income taxes Minimum [Member] Minimum [Member] Revenues, Total Revenues Total revenue Proceeds from stock option exercises Proceeds from stock option exercises Proceeds from Stock Options Exercised Significant Accounting Policies [Text Block] Summary of significant accounting policies Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block] Schedule of prepaid and other current assets Present value of operating lease liabilities Operating Lease, Liability Total lease liability Present value of operating lease liabilities Severance Costs Severance Costs Assessment Type [Axis] Assessment Type [Axis] Patrick M. Cook [Member] Patrick M. Cook [Member] Patrick M. Cook [Member] Revenue [Policy Text Block] Revenue recognition Non-federal tax obligations Accrued Income Taxes, Current Equity Component [Domain] Equity Component Stock Options [Member] ATM Program [Member] ATM Program [Member] Capitalized Software [Member] Software Development [Member] Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Adjustments to reconcile net loss to cash used in operating activities: Asset Acquisition [Table Text Block] Schedule of allocation of the purchase price SunEdison Utility Holdings Inc. member. Sun Edison Utility Holdings Inc [Member] SunEdison Utility Holdings, Inc. [Member] Purchase price paid in cash Purchase price paid in cash Purchase price paid in cash Goodwill, Foreign Currency Translation Gain (Loss) Translation Debt Disclosure [Abstract] Entity Current Reporting Status Entity Current Reporting Status Common Stock, Shares Authorized Common stock, shares authorized Research and Development Expense, Total Research and Development Expense Research and development CBP Assessments [Member] CBP Assessments [Member] CBP Assessments [Member] Ayna Ayna [Member] Ayna [Member] Business Acquisition, Goodwill, Expected Tax Deductible Amount Goodwill Product Warranty Liability [Line Items] Product Warranty Liability [Line Items] Settlements made during the period Settlements made during the period Standard Product Warranty Accrual, Decrease for Payments Asset purchase agreement. Asset Purchase Agreement [Member] Asset Purchase Agreement [Member] Assets [Abstract] ASSETS Proceeds from Issuance of Common Stock Sale of common stock Proceeds from common stock Goodwill Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] Amortization expense Amortization of Intangible Assets Expense charge to establish an inventory obsolesce reserve. Provision For Inventory Obsolescence Provision for obsolete and slow-moving inventory Accounts Receivable, after Allowance for Credit Loss [Abstract] Subsidiary, Sale of Stock [Line Items] Share repurchase and retirement Repurchase and retirement of common stock Stock Repurchased and Retired During Period, Value Barclays Bank PLC [Member] PLC Barclays Bank [Member] PLC Barclays Bank [Member] Capital contributions Capital contributions Common stock par value of $0.0001 per share, 850,000,000 shares authorized; 124,954,451 and 105,032,588 shares issued and outstanding as of September 30, 2023 and December 31, 2022 Common stock, value, issued Common Stock, Value, Issued, Ending Balance Common Stock, Value, Issued, Beginning Balance Common Stock, Value, Issued, Total Common Stock, Value, Issued Change in deferred tax assets valuation allowance, percentage Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent Description of Tariffs classification Description of Tariffs classification Description of Tariffs classification Lease expense and other Other Noncash Income (Expense), Total Other Noncash Income (Expense) Total accrued expenses Accrued expenses Accrued Liabilities, Current Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents Cash Current Fiscal Year End Date Current Fiscal Year End Date Share-based Payment Arrangement, Noncash Expense, Total Share-Based Payment Arrangement, Noncash Expense Stock-based compensation Stock-based compensation expense Loss from operations Loss from operations Operating Income (Loss) Business Acquisition, Equity Interest Issued or Issuable, Number of Shares Purchase price paid in shares Assessment Type [Domain] Assessment Type [Domain] Entity Ex Transition Period Entity Ex Transition Period Deferred income taxes Deferred Income Tax Expense (Benefit) Deferred Income Tax Expense (Benefit), Total (Provision for) benefit from income taxes Income tax expense (benefit) (Benefit from) income taxes Income Tax Expense (Benefit), Total Income Tax Expense (Benefit) Income tax expense (benefit) Research and development [Member] Research and Development Expense [Member] Stock Issued During Period, Shares, Acquisitions Shares issued for HX Tracker acquisition, Shares Product Warranty Life Product warranty life. Product warranty life Cash Cash, Ending Balance Cash, Beginning Balance Concentration Risk, Percentage Concentration Risk, Percentage Accrued cost of revenues Accrued cost of revenues Accrued cost of revenue Share-Based Payment Arrangement, Expense Total stock compensation expense Stock based compensation expense Disaggregation of Revenue [Table] Sean Hunkler [Member] Sean Hunkler [Member] Sean Hunkler [Member] VIET NAM Vietnam [Member] Field Equipment [Member] Equipment [Member] Income taxes payable Taxes Payable, Current Taxes Payable, Current, Total Intangible assets, net Intangible assets, net Finite-Lived Intangible Assets, Net Finite-Lived Intangible Assets, Net, Ending Balance Finite-Lived Intangible Assets, Net, Beginning Balance Income Taxes Paid Cash paid during the period for taxes, net of refunds Revenue from Contract with Customer [Text Block] Revenue Other comprehensive loss: Other Comprehensive Income (Loss), Net of Tax [Abstract] Cash payments Cash Payments Cash Payments Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Shares of common stock issuable upon vesting of restricted stock awards Stock Issued During Period, Shares, Restricted Stock Award, Gross Shares issued during the period for vested restricted stock awards, shares Covid-19 Pandemic Policy [Text Block] Covid-19 Pandemic Policy [Text Block] Covid-19 Pandemic Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Forfeiture of unvested stock Shares Issued, Shares, Share-Based Payment Arrangement, Forfeited Other expense, net Other Nonoperating Income (Expense) Other Nonoperating Income (Expense), Total Other income (expense), net Revisions Of Previously Issued Financial Statements. Revisions Of Previously Issued Financial Statements [Policy Text Block] Revisions of previously issued financial statements Sale of Stock, Price Per Share Sale of stock, price per share Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract] Operating Expenses [Abstract] Operating expenses Property, Plant and Equipment [Abstract] Depreciation and amortization Depreciation, Depletion and Amortization, Nonproduction, Total Depreciation, Depletion and Amortization, Nonproduction Subsequent Events [Abstract] Available liquidity after considering financial condition Available liquidity after considering financial condition HX Tracker purchase price included in ending accruals Supplemental Deferred Purchase Price Commitments and Contingencies Disclosure [Abstract] Other Assets, Noncurrent Other assets Other Assets, Noncurrent, Total Other accrued expenses Other Accrued Liabilities, Current Equity [Text Block] Common Stock Depreciation, Total Depreciation Depreciation expense Additional capital contributions Additional capital contributions Additional Capital Contributions Robert Phelps Morris [Member] Robert Phelps Morris [Member] Robert Phelps Morris [Member] Additional Paid in Capital, Beginning Balance Additional Paid in Capital, Total Additional Paid in Capital Additional paid-in capital Additional Paid in Capital, Ending Balance Outstanding capital stock held Outstanding capital stock held Outstanding capital stock held Liquidity Liquidity Policy [Text Block] Liquidity Policy [Text Block] Equity, Attributable to Parent [Abstract] Stockholders' equity Thereafter Lessee, Operating Lease, Liability, to be Paid, after Year Five Summary of Lease Expense Lease, Cost [Table Text Block] Developed Technology [Member] Developed Technology Rights [Member] (Gain) loss from sale of property and equipment Gain (Loss) on Disposition of Property Plant Equipment, Total Loss from sale of property and equipment Aggregate commitments Line of Credit Facility, Maximum Borrowing Capacity Employee Relocation [Member] Employee Relocation Revenue, Remaining Performance Obligation, Percentage Revenue allocated to remaining performance obligations, percentage of revenue expected to be recognized Cost of Revenue Cost of Goods and Services Sold, Total Cost of Goods and Services Sold Total cost of revenue Note 11. Net loss per share Earnings Per Share [Abstract] Net loss per share Summary of Future Remaining Lease Payments Obligations Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Investment, Name [Domain] Investment, Name Accounting Policies [Abstract] Product Warranty Liability [Table] Product Warranty Liability [Table] Concentration Risk, Credit Risk, Policy [Policy Text Block] Concentration of credit risk Purchase cost of shares Sale of Stock, Consideration Received on Transaction Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets Prepaids and other current assets Underwriting Discount and Commissions Underwriting Discount and Commissions Reduction in number Of employee Reduction In Number of Employee Reduction In Number of Employee Revolving Credit Facility [Member] Credit Facility Agreement [Member] Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties, Total Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties Changes in liability for pre-existing warranties Basic Earnings Per Share, Basic, Total Earnings Per Share, Basic Basic loss per share Commitments and contingencies (Note 15) Commitments and Contingencies Income Statement [Abstract] Statement of operations Property and equipment, net Property, Plant and Equipment Disclosure [Text Block] Related Party, Type [Axis] Related Party Operating lease cost Operating lease cost Operating Lease, Cost Short-term lease cost Short-Term Lease, Cost Nagendra Cherukupalli [Member] Nagendra Cherukupalli [Member] Nagendra Cherukupalli [Member] Additions charged to earnings during the period Accounts Receivable, Allowance for Credit Loss, Recovery Restructuring Type [Axis] Statistical Measurement Statistical Measurement [Domain] Unbilled receivables Unbilled Receivables, Current Net cash used in operating activities Net cash used in operating activities Net Cash Provided by (Used in) Operating Activities Net cash used in operating activities Document Period End Date Document Period End Date Statistical Measurement [Axis] Statistical Measurement Accounts Receivable, Allowance for Credit Loss Accounts Receivable, Allowance for Credit Loss, Ending Balance Accounts Receivable, Allowance for Credit Loss, Beginning Balance Commitments and Contingencies Disclosure [Text Block] Commitments and Contingencies Stockholders' Equity Note [Abstract] Working capital Working Capital Working Capital Right-Of-Use Asset And Lease Liability Recognition For New Leases Right-Of-Use Asset And Lease Liability Recognition For New Leases Right-of-use asset and lease liability recognition for new leases Diluted Earnings Per Share, Diluted, Total Earnings Per Share, Diluted Diluted loss per share Product and Service [Domain] Product and Service Cost of revenue [Member] Cost of Sales [Member] Unrecognized Tax Benefits, Ending Balance Unrecognized Tax Benefits, Beginning Balance Unrecognized Tax Benefits Unrecognized tax benefits Concentration Risk Benchmark Concentration Risk Benchmark [Domain] Revenue from Contract with Customer [Abstract] Fcx Solar Llc [Member] Fcx Solar Llc [Member] Fcx Solar Llc [Member] Balance at end of period Balance at end of period Balance at beginning of period Standard Product Warranty Accrual Balance at end 's period Related party payble Increase (Decrease) in Due to Other Related Parties Increase (Decrease) in Other Noncurrent Liabilities Other non-current liabilities Related Party Transaction [Domain] Standard Product Warranty Description Warranty description Inventories, net Inventory, Policy [Policy Text Block] Schedule of Restructuring and Related Costs [Table] Finite-Lived Intangible Assets, Major Class Name [Domain] Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Issuance of common stock upon exercise of stock options, shares LIABILITIES AND STOCKHOLDERS' EQUITY Liabilities and Equity [Abstract] Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Schedule Of severance and termination-related costs Schedule of Severance and Termination Related Costs [Table Text Block] Schedule of Severance and Termination Related Costs [Table Text Block] Stock Issued During Period, Value, Acquisitions Shares issued for HX Tracker acquisition, Amount Entity Address, Postal Zip Code Entity Address, Postal Zip Code Entity Interactive Data Current Entity Interactive Data Current Selling and Marketing Expense, Total Selling and Marketing Expense Selling and marketing Related and Nonrelated Party Status [Domain] Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other Accrued expenses Accrued expenses Unrecognized tax benefits impact effective income tax rate Unrecognized Tax Benefits that Would Impact Effective Tax Rate Increase (Decrease) in Accounts Payable, Total Increase (Decrease) in Accounts Payable Accounts payable Credit Facility [Domain] Credit Facility Adjustments Revision of Prior Period, Adjustment [Member] Schedule of warranty accruals Schedule of Product Warranty Liability [Table Text Block] Summary of Changes in Product Warranty Reserves Equity [Abstract] Less imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Less imputed interest Schedule of Indefinite-Lived Intangible Assets [Table] Revision of Prior Period [Axis] Description of Revised Tariffs classification Description of Revised Tariffs classification Cost of Assessment Cost of Assessment Cost of Assessment Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Cash and cash equivalents Cash and Cash Equivalents, Policy [Policy Text Block] Equity Components [Axis] Equity Components Increase (Decrease) in Accounts Receivable Accounts receivable, net Summary of Equity Method Investments Financial Information Equity Method Investments Financial Information Table Text Block Equity method investments financial information. Inventory Disclosure [Abstract] Payments to Acquire Businesses, Gross Total purchase price Repurchase [Member] Repurchase [Member] Schedule of Equity Method Investments [Table] Schedule Of Equity Method Investments [Table] Board of Directors and Chairman Board of Directors Chairman [Member] Stock-based compensation expense reversed Stock-based Compensation Expense Reversed Stock-based Compensation Expense Reversd Local Phone Number Local Phone Number Property, Plant and Equipment [Line Items] Sale of Stock [Axis] Sale of Stock Investment to acquire ownership interest Investment to acquire ownership interest Investment to acquire ownership interest Increase (Decrease) in Deferred Revenue Deferred revenue Allowance for slow-moving and obsolete inventory Allowance for slow-moving and obsolete inventory Inventory Valuation Reserves Inventory Valuation Reserves, Ending Balance Inventory Valuation Reserves, Beginning Balance Schedule of Equity Method Investments [Line Items] Schedule Of Equity Method Investments [Line Items] Goodwill, Total Goodwill, Beginning Balance Goodwill, Ending Balance Goodwill Goodwill Increase (Decrease) in Other Accounts Payable and Accrued Liabilities Accruals and other current liabilities Statement of Cash Flows [Abstract] Board of Directors Director [Member] Share repurchased and retired (Shares) Share repurchase and retirement (shares) Repurchase and retirement of common stock (shares) Stock Repurchased and Retired During Period, Shares Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date Organization, Consolidation and Presentation of Financial Statements [Abstract] Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax, Total Accumulated Other Comprehensive Income (Loss), Net of Tax Schedule of Accrued Expenses and Other Current Liabilities Accrued Expenses and Other Current Liabilities Table Text Block Accrued Expenses and Other Current Liabilities Table Text Block Gross profit (loss) Gross Profit Gross loss Concentration Risk Benchmark [Axis] Concentration Risk Benchmark Common Stock, Par or Stated Value Per Share Common stock, par value Service [Member] Service Long-Lived Tangible Asset [Axis] Prime Rate Plus Payable Prime rate plus payable Prime rate plus payable Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term Vesting period Fernweh Engaged Operator Company LLC [Member] Fernweh Engaged Operator Company LLC [Member] Fernweh Engaged Operator Company LLC [Member] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] DAYV LLC DAYV LLC [Member] DAYV LLC [Member] Maximum [Member] Maximum [Member] Maximum [Member] Common stock, value authorized Common Stock Value Authorized Common stock value authorized. Prepaid Expenses and Other Current Assets [Text Block] Prepaid Expenses and Other Current Assets. Prepaid and other current assets Dividends Dividends, Total Related Party Transaction [Axis] Income Tax Contingency [Line Items] APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Stock-based compensation Standard and Extended Product Warranty Accrual, Decrease for Payments, Total Standard and Extended Product Warranty Accrual, Decrease for Payments Settlements made during the period Short-Term Debt, Type [Domain] Net decrease in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Accrued warranty balance reported in: Payables and Accruals [Abstract] General and administrative [Member] General and Administrative Expense [Member] Long-Term Investments [Abstract] Increase in common stock issued and outstanding Increase in Common stock Issued and Outstanding Increase in common stock issued and outstanding. Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share Schedule of Inventory, Current [Table Text Block] Schedule of inventories City Area Code City Area Code Total Inventory, Net Inventories Net Cash Provided by (Used in) Operating Activities [Abstract] Cash flows from operating activities Other member. Other [Member] Other [Member] Letter of Credit Letter of Credit [Member] Business Acquisition [Line Items] Loss from unconsolidated subsidiary Gain (Loss) on Investments Gain (Loss) on Investments, Total Alpha Steel Alpha Steel [Member] Alpha Steel [Member] Accumulated depreciation Accumulated depreciation Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total General and administrative expense General and Administrative Expense, Total General and Administrative Expense General and administrative Standard Product Warranty, Policy [Policy Text Block] Warranty Basic Basic weighted-average number of common shares outstanding Weighted Average Number of Shares Outstanding, Basic, Total Weighted Average Number of Shares Outstanding, Basic Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Assets Deferred tax asset Prepaid taxes Prepaid Taxes Net Cash Provided by (Used in) Financing Activities [Abstract] Cash flows from financing activities: Statement [Table] Statement [Table] Accrued Bonuses Document Fiscal Period Focus Document Fiscal Period Focus Total lease payments Lessee, Operating Lease, Liability, to be Paid Changes in liability for pre-existing warranties Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties Loss from unconsolidated subsidiary (Income) loss from unconsolidated subsidiary Income (Loss) from Equity Method Investments Income (Loss) from Equity Method Investments, Total Loss from unconsolidated subsidiary Related Party Transactions Related Party Transactions Disclosure [Text Block] Lessee, Operating Lease, Liability, to be Paid, Year Two 2024 Statement [Line Items] Statement [Line Items] Proceeds from Sale of Other Property, Plant, and Equipment Proceeds from sale of property and equipment Unamortized prepaid balance Unamortized Prepaid Balance Unamortized Prepaid Balance Potential common shares excluded from diluted net loss per share Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Total lease cost Total lease cost Total lease cost Lease, Cost Letters of Credit Outstanding, Amount Letters of credit outstanding Accrued Expenses and Other Current Liabilities Accrued Expenses and Other Current Liabilities Disclosure Text Block Accrued Expenses and Other Current Liabilities Disclosure Text Block Mary Cathy Behnen [Member] Mary Cathy Behnen [Member] Mary Cathy Behnen [Member] Impact of stock split. Impact of Stock Split Accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current Accounts receivable, net Accounts receivable, net Accounts and Nontrade Receivable [Text Block] Common Stock [Member] Common Stock Debt Instrument [Line Items] Debt Instrument [Line Items] Damages sought value Loss Contingency, Damages Sought, Value Percantage of Concentrations of credit risk Percantage of Concentrations of credit risk Concentrations of credit risk, percentage Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table] Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value, Ending Balance Cash and Cash Equivalents, at Carrying Value, Beginning Balance Cash and Cash Equivalents, at Carrying Value, Total Cash and Cash Equivalents, at Carrying Value Schedule of Stock compensation expense Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Other current assets Other Assets, Current Prepaid expense Prepaid Expense, Current, Total Prepaid Expense, Current Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Property and equipment, net Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total Finished goods Inventory, Finished Goods, Gross Inventory, Finished Goods, Gross, Total Antidilutive Securities, Name [Domain] Unused borrowing capacity Debt Instrument, Unused Borrowing Capacity, Amount Treasury stock, at cost; 10,762,566 shares as of September 30, 2023 and December 31, 2022 Treasury Stock, Value, Ending Balance Treasury Stock, Value, Beginning Balance Treasury Stock, Value, Total Treasury Stock, Value Treasury stock, value Cover [Abstract] Selling, General and Administrative Expense, Total Selling, General and Administrative Expense General and administrative expense Document Fiscal Year Focus Document Fiscal Year Focus Other current liabilities Product Warranty Accrual, Current Warranty reserves Intangible assets, net Intangible Assets, Finite-Lived, Policy [Policy Text Block] Income Tax Interest and Penalties Accrued Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued Sale of Stock [Domain] Sale of Stock Preferred Stock Preferred Stock [Member] Income Tax Contingency [Table] Share-Based Payment Arrangement [Policy Text Block] Stock-based compensation Segment Reporting [Abstract] Security Exchange Name Security Exchange Name Accounts receivable, net Accounts Receivable [Policy Text Block] New Accounting Pronouncements, Policy [Policy Text Block] Recent accounting pronouncements adopted Preferred stock, shares issued Preferred Stock, Shares Issued Preferred Stock, Shares Issued, Total Preferred stock, shares authorized Preferred Stock, Shares Authorized Information Technology Equipment [Member] Technology Equipment [Member] Property and equipment, gross Property, Plant and Equipment, Gross Property, Plant and Equipment, Gross, Ending Balance Property, Plant and Equipment, Gross, Beginning Balance Property, Plant and Equipment, Gross, Total Treasury Stock, Shares, Acquired Treasury stock, shares, acquired Cost of Revenue [Abstract] Cost of revenue: Business Acquisition, Acquiree [Domain] Weighted-average common shares outstanding: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Issuance of common stock upon exercise of stock options Stock Issued During Period, Value, Stock Options Exercised Accrued Expenses and Other Current Liabilities Abstract Accrued Expenses and Other Current Liabilities Abstract. Entity Emerging Growth Company Entity Emerging Growth Company Proceeds from deferred offering costs. Proceeds From Deferred Offering Costs Deferred offering costs Amendment Flag Amendment Flag Stock Issued During Period, Value, Restricted Stock Award, Gross Shares issued during the period for vested restricted stock awards Schedule of operating lease assets and liabilities. Schedule Of Operating Lease Assets And Liabilities Table [Text Block] Schedule of Supplemental Balance Sheet Information of Leases IPO [Member] Deferred cost of revenue Deferred Cost of Revenue Deferred cost of revenue Basis of Accounting, Policy [Policy Text Block] Basis of presentation and principles of consolidation Equity Method Investment, Ownership Percentage Ownership percentage ATM Program ATM Program Leases [Abstract] Description of business. Description Of Business [Line Items] Description Of Business [Line Items] Variable Rate [Domain] Securities Act File Number Entity File Number Cash paid during the period for third party interest Cash paid during the period for third party interest Cash paid during the period for third party interest Goodwill and Intangible Assets Disclosure [Abstract] Cash and cash equivalents at end of period Cash and cash equivalents at beginning of period Total cash and restricted cash Total cash and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Asset Acquisition [Text Block] Acquisition Share-Based Payment Arrangement [Abstract] Warranties issued during the period Standard Product Warranty Accrual, Increase for Warranties Issued Warranties issued during the period Accounts Payable, Current, Total Accounts Payable, Current Accounts payable Total operating expenses Operating Expenses Total Operating expenses Business Acquisition, Equity Interest Issued or Issuable, Value Assigned Purchase price paid in shares value Forward stock split Forward stock split Forward stock split Stock split Stockholders' Equity, Reverse Stock Split Entity Address, Address Line Two Entity Address, Address Line Two Preferred stock par value of $0.0001 per share, 10,000,000 shares authorized; none issued as of September 30, 2023 and December 31, 2022 Preferred Stock, Value, Issued Preferred Stock, Value, Issued, Total Preferred Stock, Value, Issued, Beginning Balance Preferred Stock, Value, Issued, Ending Balance Entity Small Business Entity Small Business Program Rights Obligations [Abstract] Entity Shell Company Entity Shell Company Number of Operating Segments Number of operating segment Title of Individual [Axis] Standard and Extended Product Warranty Accrual, Total Standard and Extended Product Warranty Accrual Balance at end of period Balance at beginning of period Earnings Per Share [Text Block] Net Loss Per Share Revenues [Abstract] Revenue: Equity method investment in Alpha Steel Payments to Acquire Other Investments Investment in Alpha Steel Entity Address, Address Line One Entity Address, Address Line One Revenue Benchmark [Member] Total Revenue [Member] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Antidilutive Securities [Axis] Total other current liabilities Other current liabilities Other Liabilities, Current Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill, Total Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill Intangible assets, net Percentage of shareholders percentage of shareholders percentage of shareholders Intangible assets, gross Finite-Lived Intangible Assets, Gross Finite-Lived Intangible Assets, Gross, Total Accrued Compensations Accrued compensation. Accrued compensation Subsequent Event Type [Domain] Reserve against revenue Revenue Recognition, Sales Returns, Reserve for Sales Returns Receivables Collected Other receivables Accounts and Other Receivables, Net, Current Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs Stock issuance costs Stock issuance costs Related party receivables Recievables from Related Parties Recievables from Related Parties Income Statement Location [Axis] Sasan Aminpour [Member] Sasan Aminpour [Member] Sasan Aminpour [Member] Line of Credit Facility, Fair Value of Amount Outstanding Credit Facility amount Lessee, Operating Lease, Liability, to be Paid, Year Five 2027 Provision For Credit Losses Provision for Other Credit Losses Product [Member] Product Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period Shares of Common stock purchased Equity Method Investments Equity method investment Exercise price per share Share Price Product and Service [Axis] Product and Service Title of 12(b) Security Title of 12(b) Security Accumulated amortization Accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Prime Rate [Member] Carrying value of money market fund Money Market Funds, at Carrying Value Schedule of Finite-Lived Intangible Assets [Table Text Block] Summary of intangible assets Registration Payment Arrangement, Accrual Carrying Value Amount accrued, for cash payments Net Cash Provided by (Used in) Investing Activities [Abstract] Cash flows from investing activities: Amortization of debt issue costs Amortization of debt issuance cost Amortization of Debt Issuance Costs Long-Lived Tangible Asset [Domain] Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block] Restricted Cash Jobs act accounting election policy text block. Jobs Act Accounting Election Policy [Text Block] JOBS Act Accounting Election Increase (Decrease) in Inventories, Total Increase (Decrease) in Inventories Inventories Kristian Nolde [Member] Kristian Nolde [Member] Kristian Nolde [Member] Product Warranties Disclosures [Abstract] Common Stock, Shares, Outstanding, Ending Balance Common Stock, Shares, Outstanding, Beginning Balance Common Stock, Shares, Outstanding Common stock, shares outstanding Share-Based Payment Arrangement [Text Block] Stock-Based Compensation Workforce Activity [Line Items] Workforce Activity [Line Items] Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block] Schedule of accounts receivable, net 939 Assessment [Member] 939 Assessment [Member] 939 Assessment [Member] Ability to continue as a going concern Ability to continue as a going concern Liquidity Indefinite-Lived Intangible Assets [Line Items] Concentration Risk Type [Domain] Concentration Risk Type Income Statement Location [Domain] Business Combination and Asset Acquisition [Abstract] Document Type Document Type Net Cash Provided by (Used in) Investing Activities Net cash used in investing activities Document Quarterly Report Document Quarterly Report Counterparty Name [Domain] Counterparty Name Goodwill and Intangible Assets Disclosure [Text Block] Intangible assets, net and goodwill Share-Based Payment Arrangement, Accelerated Cost Increased stock-based compensation expenses Product Warranty Expense Warranty provision Net Cash Provided by (Used in) Financing Activities Net cash provided by financing activities Entity Filer Category Entity Filer Category Equity Method Investments and Joint Ventures Disclosure [Text Block] Equity method investment Balance Sheet Location [Domain] Balance Sheet Location Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Foreign currency translation adjustments Geographic Concentration Risk [Member] Geographic Concentration Risk [Member] Variable Rate [Axis] Repurchased Common Share Repurchased Common Share Other non-current liabilities Product Warranty Accrual, Noncurrent Warranty reserves Deferred income taxes Deferred Income Taxes Liabilities Total liabilities Revenue recognized in excess of billings Revenue recognized in excess of billings Revenue recognized in excess of billings Property, Plant and Equipment [Table] Amortized period Finite-Lived Intangible Assets, Remaining Amortization Period Gain from disposal of investment in unconsolidated subsidiary Gain from disposal of investment in unconsolidated subsidiary Equity Method Investment, Realized Gain (Loss) on Disposal Equity Method Investment, Realized Gain (Loss) on Disposal, Total Finite-Lived Intangible Asset, Useful Life Intangible assets, estimated useful life Other Current Liabilities [Member] Accrued Expenses and Other Current Liabilities [Member] Stockholders equity Equity, Attributable to Parent Ending balance Beginning balance Total stockholders' equity Intangible Assets, Net (Excluding Goodwill), Total Intangible Assets, Net (Excluding Goodwill) Intangible assets, net Net loss Net loss Business Description and Basis of Presentation [Text Block] Description of business Proceeds from IPO Proceeds from Issuance Initial Public Offering Proceeds of IPO Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items] Fair Value Measurement, Policy [Policy Text Block] Fair Value of Financial Instruments Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities Deferred tax liability Deferred tax liability Statement of Financial Position [Abstract] Balance sheet Diluted weighted-average number of common shares outstanding Diluted Weighted Average Number of Shares Outstanding, Diluted Potential common shares excluded from diluted net loss per share Credit Facility [Axis] Credit Facility Shares Issued, Price Per Share Credit losses and bad debt expense Off-Balance-Sheet, Credit Loss, Liability, Credit Loss Expense (Reversal) Subscription revenue contract terms Subscription Revenue Contract Terms Subscription revenue contract terms. Use of Estimates, Policy [Policy Text Block] Use of estimates Income Tax Disclosure [Text Block] Income Taxes Finite-Lived Intangible Assets [Line Items] Treasury Stock Treasury Stock -1 [Member] Treasury Stock -1 [Member] Schedule of Computation of Basic and Diluted Income (Loss) Per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Disaggregation of Revenue [Line Items] Leasehold Improvements [Member] Shares issued for legal settlement amt Shares issued for legal settlement amt Shares issued for legal settlement Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Total Receivables, Net, Current Forward Stock Split Corporate Conversion And Stock Split Policy [Text Block] Corporate conversion and stock split. Other Noncurrent Liabilities [Member] Other Noncurrent Liabilities [Member] Payments to Acquire Property, Plant, and Equipment, Total Payments to Acquire Property, Plant, and Equipment Purchases of property and equipment Type of Restructuring [Domain] Revision of Prior Period [Domain] Stock Issued During Period, Shares, New Issues Issuance of common stock (in shares) Sale of shares, shares Business Acquisition [Axis] Income Tax Disclosure [Abstract] Finite-Lived Intangible Assets by Major Class [Axis] Goodwill, Transfers Translation EX-101.PRE 8 ftci-20230930_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT EX-101.SCH 9 ftci-20230930.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 100000 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100020 - Disclosure - Leases - Summary of Future Remaining Lease Payments Obligations (Details) 2 link:presentationLink link:calculationLink link:definitionLink 100030 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100040 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100050 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Deficit) (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100060 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 995455 - Disclosure - Description of business link:presentationLink link:calculationLink link:definitionLink 995465 - Disclosure - Summary of significant accounting policies link:presentationLink link:calculationLink link:definitionLink 995475 - Disclosure - Equity method investment link:presentationLink link:calculationLink link:definitionLink 995485 - Disclosure - Reduction in force link:presentationLink link:calculationLink link:definitionLink 995495 - Disclosure - ATM Program link:presentationLink link:calculationLink link:definitionLink 995505 - Disclosure - Acquisition link:presentationLink link:calculationLink link:definitionLink 995515 - Disclosure - Accounts receivable, net link:presentationLink link:calculationLink link:definitionLink 995525 - Disclosure - Inventories, net link:presentationLink link:calculationLink link:definitionLink 995535 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 995545 - Disclosure - Prepaid and other current assets link:presentationLink link:calculationLink link:definitionLink 995555 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 995565 - Disclosure - Property and equipment, net link:presentationLink link:calculationLink link:definitionLink 995575 - Disclosure - Sales of Equity Method Investments link:presentationLink link:calculationLink link:definitionLink 995585 - Disclosure - Intangible assets, net and goodwill link:presentationLink link:calculationLink link:definitionLink 995595 - Disclosure - Accrued Expenses and Other Current Liabilities link:presentationLink link:calculationLink link:definitionLink 995605 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 995615 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 995625 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 995635 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 995645 - Disclosure - Net Loss Per Share link:presentationLink link:calculationLink link:definitionLink 995655 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 995665 - Disclosure - Related Party Transactions link:presentationLink link:calculationLink link:definitionLink 995675 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 995685 - Disclosure - Summary of significant accounting policies (Policies) link:presentationLink link:calculationLink link:definitionLink 995695 - Disclosure - Summary of significant accounting policies (Tables) link:presentationLink link:calculationLink link:definitionLink 995705 - Disclosure - Reduction in force (Tables) link:presentationLink link:calculationLink link:definitionLink 995715 - Disclosure - Acquisition (Tables) link:presentationLink link:calculationLink link:definitionLink 995725 - Disclosure - Accounts receivable, net (Tables) link:presentationLink link:calculationLink link:definitionLink 995735 - Disclosure - Inventories, net (Tables) link:presentationLink link:calculationLink link:definitionLink 995745 - Disclosure - Prepaid and other current assets (Tables) link:presentationLink link:calculationLink link:definitionLink 995755 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 995765 - Disclosure - Property and equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 995775 - Disclosure - Intangible assets, net and goodwill (Tables) link:presentationLink link:calculationLink link:definitionLink 995785 - Disclosure - Accrued Expenses and Other Current Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 995795 - Disclosure - Sales of Equity Method Investments (Tables) link:presentationLink link:calculationLink link:definitionLink 995805 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 995815 - Disclosure - Stock-based compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 995825 - Disclosure - Net Loss Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 995835 - Disclosure - Description of Business - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 995845 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 995855 - Disclosure - Equity method investment - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 995865 - Disclosure - Reduction in force - Summary of severance and termination-related costs (Details) link:presentationLink link:calculationLink link:definitionLink 995875 - Disclosure - Reduction in force (Additional Information) (Details) link:presentationLink link:calculationLink link:definitionLink 995885 - Disclosure - ATM Program - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 995895 - Disclosure - Acquisition - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 995905 - Disclosure - Acquisition - Schedule of Preliminary Allocation of the Purchase Price (Details) link:presentationLink link:calculationLink link:definitionLink 995915 - Disclosure - Acquisition - Schedule of Goodwill Activity (Details) link:presentationLink link:calculationLink link:definitionLink 995925 - Disclosure - Accounts receivable, net - Schedule of Accounts Receivable, Net (Details) link:presentationLink link:calculationLink link:definitionLink 995935 - Disclosure - Accounts receivable, net - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 995945 - Disclosure - Accounts receivable, net - Schedule of Accounts Receivable Allowance for Credit Loss (Details) link:presentationLink link:calculationLink link:definitionLink 995955 - Disclosure - Inventories, net - Schedule of inventories (Details) link:presentationLink link:calculationLink link:definitionLink 995965 - Disclosure - Revenue - Additional Information (Details1) link:presentationLink link:calculationLink link:definitionLink 995975 - Disclosure - Revenue - Additional Information - (Details) link:presentationLink link:calculationLink link:definitionLink 995985 - Disclosure - Prepaid and other current assets - Schedule of Prepaid and other current assets (Details) link:presentationLink link:calculationLink link:definitionLink 995995 - Disclosure - Prepaid and other current assets (Additional Information) (Details) link:presentationLink link:calculationLink link:definitionLink 996005 - Disclosure - Leases - Summary of Lease Expense (Details) link:presentationLink link:calculationLink link:definitionLink 996015 - Disclosure - Leases - Summary of Future Remaining Lease Payments Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 996025 - Disclosure - Property and equipment, net - Schedule of property and equipment (Details) link:presentationLink link:calculationLink link:definitionLink 996035 - Disclosure - Property and equipment, net - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 996045 - Disclosure - Intangible assets, net and goodwill - Summary of intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 996055 - Disclosure - Intangible assets, net and goodwill - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 996065 - Disclosure - Intangible assets, net and goodwill - Summary of goodwill activity (Details) link:presentationLink link:calculationLink link:definitionLink 996075 - Disclosure - Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 996085 - Disclosure - Accrued expenses and other current liabilities (Additional Information) (Details) link:presentationLink link:calculationLink link:definitionLink 996095 - Disclosure - Accrued expenses and other current liabilities - Schedule of warranty accruals (Details) link:presentationLink link:calculationLink link:definitionLink 996105 - Disclosure - Sales of Equity Method Investments - Summarized Financial Information For Equity Method Investments (Details) link:presentationLink link:calculationLink link:definitionLink 996115 - Disclosure - Debt - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 996125 - Disclosure - Commitments and Contingencies - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 996135 - Disclosure - Commitments and Contingencies - Summary of Changes in Product Warranty Reserves (Details) link:presentationLink link:calculationLink link:definitionLink 996145 - Disclosure - Stock-Based Compensation - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 996155 - Disclosure - Stock-Based Compensation - Stock compensation expense (Details) link:presentationLink link:calculationLink link:definitionLink 996165 - Disclosure - Stockholders' Equity - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 996175 - Disclosure - Net Loss Per Share (Additional Information) (Details) link:presentationLink link:calculationLink link:definitionLink 996185 - Disclosure - Net Loss Per Share - Schedule of Computation of Basic and Diluted Loss Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 996195 - Disclosure - Net Loss Per Share - Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 996205 - Disclosure - Income Taxes - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 996215 - Disclosure - Segment Information - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 996225 - Disclosure - Segment Information - Schedule of Company's Total Revenue by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 996235 - Disclosure - Related party transactions - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 996245 - Disclosure - Subsequent events (Additional Information) (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 10 ftci-20230930_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 11 ftci-20230930_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT XML 12 R1.htm IDEA: XBRL DOCUMENT v3.23.3
Document and Entity Information - shares
9 Months Ended
Sep. 30, 2023
Oct. 31, 2023
Cover [Abstract]    
Entity Registrant Name FTC SOLAR, INC.  
Entity Central Index Key 0001828161  
Current Fiscal Year End Date --12-31  
Entity Filer Category Accelerated Filer  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Small Business false  
Entity Emerging Growth Company true  
Entity Ex Transition Period false  
Entity Shell Company false  
Document Type 10-Q  
Document Period End Date Sep. 30, 2023  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q3  
Trading Symbol FTCI  
Amendment Flag false  
Title of 12(b) Security Common Stock, $0.0001 par value  
Security Exchange Name NASDAQ  
Entity File Number 001-40350  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 81-4816270  
Entity Address, Address Line One 9020 N Capital of Texas Hwy  
Entity Address, Address Line Two Suite I-260  
Entity Address, City or Town Austin  
Entity Address, State or Province TX  
Entity Address, Postal Zip Code 78759  
City Area Code 737  
Local Phone Number 787-7906  
Entity Common Stock, Shares Outstanding   125,005,820
Document Quarterly Report true  
Document Transition Report false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Balance Sheets (Unaudited) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Current assets    
Cash and cash equivalents $ 31,520 $ 44,385
Accounts receivable, net 71,375 49,052
Inventories 4,655 14,949
Prepaid and other current assets 13,468 10,304
Total current assets 121,018 118,690
Operating lease right-of-use assets 2,006 1,154
Property and equipment, net 1,685 1,702
Intangible assets, net 657 1,113
Goodwill 7,143 7,538
Equity method investment 564 0
Other assets 3,186 4,201
Total assets 136,259 134,398
Current liabilities    
Accounts payable 9,782 15,801
Accrued expenses 25,778 23,896
Income taxes payable 262 443
Deferred revenue 11,178 11,316
Other current liabilities 8,589 8,884
Total current liabilities 55,589 60,340
Operating lease liability, net of current portion 1,310 786
Other non-current liabilities 5,286 6,822
Total liabilities 62,185 67,948
Commitments and contingencies (Note 15)
Stockholders' equity    
Preferred stock par value of $0.0001 per share, 10,000,000 shares authorized; none issued as of September 30, 2023 and December 31, 2022 0 0
Common stock par value of $0.0001 per share, 850,000,000 shares authorized; 124,954,451 and 105,032,588 shares issued and outstanding as of September 30, 2023 and December 31, 2022 12 11
Treasury stock, at cost; 10,762,566 shares as of September 30, 2023 and December 31, 2022 0 0
Additional paid-in capital 362,532 315,345
Accumulated other comprehensive loss (512) (61)
Accumulated deficit (287,958) (248,845)
Total stockholders' equity 74,074 66,450
Total liabilities and stockholders' equity $ 136,259 $ 134,398
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Balance Sheets (Parenthetical) (Unaudited) - $ / shares
Sep. 30, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Preferred stock, par value $ 0.0001 $ 0.0001
Preferred stock, shares authorized 10,000,000 10,000,000
Preferred stock, shares issued 0 0
Common stock, par value $ 0.0001 $ 0.0001
Common stock, shares authorized 850,000,000 850,000,000
Common stock, shares issued 124,954,451 105,032,588
Common stock, shares outstanding 124,954,451 105,032,588
Treasury Stock, Shares 10,762,566 10,762,566
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Comprehensive Loss (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Revenue:        
Total revenue $ 30,548 $ 16,572 $ 103,801 $ 96,846
Cost of revenue:        
Total cost of revenue 27,169 26,087 96,186 122,160
Gross profit (loss) 3,379 (9,515) 7,615 (25,314)
Operating expenses        
Research and development 1,921 2,126 5,716 7,538
Selling and marketing 6,324 1,994 9,887 6,893
General and administrative 11,411 13,059 31,053 39,966
Total Operating expenses 19,656 17,179 46,656 54,397
Loss from operations (16,277) (26,694) (39,041) (79,711)
Interest expense, net (108) (160) (194) (882)
Gain from disposal of investment in unconsolidated subsidiary 0 1,408 898 1,745
Other expense, net (50) (341) (265) (249)
Loss from unconsolidated subsidiary (336) 0 (336) 0
Loss before income taxes (16,771) (25,787) (38,938) (79,097)
(Provision for) benefit from income taxes (166) 151 (175) (15)
Net loss (16,937) (25,636) (39,113) (79,112)
Other comprehensive loss:        
Foreign currency translation adjustments (38) (474) (451) (357)
Comprehensive loss $ (16,975) $ (26,110) $ (39,564) $ (79,469)
Net loss per share        
Basic $ (0.14) $ (0.25) $ (0.35) $ (0.79)
Diluted $ (0.14) $ (0.25) $ (0.35) $ (0.79)
Weighted-average common shares outstanding:        
Basic 119,793,821 102,164,455 112,794,562 100,642,126
Diluted 119,793,821 102,164,455 112,794,562 100,642,126
Product        
Revenue:        
Total revenue $ 27,274 $ 3,543 $ 80,927 $ 43,677
Cost of revenue:        
Total cost of revenue 22,775 11,411 73,694 62,800
Service        
Revenue:        
Total revenue 3,274 13,029 22,874 53,169
Cost of revenue:        
Total cost of revenue $ 4,394 $ 14,676 $ 22,492 $ 59,360
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Stockholders' Equity (Deficit) (Unaudited) - USD ($)
$ in Thousands
Total
Preferred Stock
Common Stock
Treasury Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Loss
Accumulated Deficit
Beginning balance at Dec. 31, 2021 $ 142,866 $ 0 $ 9 $ 0 $ 292,082 $ 7 $ (149,232)
Beginning balance (in shares) at Dec. 31, 2021   0 92,619,641 10,762,566      
Shares issued during the period for vested restricted stock awards     $ 1   (1)    
Shares issued during the period for vested restricted stock awards, shares     5,311,326        
Issuance of common stock upon exercise of stock options 428       428    
Issuance of common stock upon exercise of stock options, shares     1,793,876        
Stock-based compensation 4,610       4,610    
Net loss (27,793)           (27,793)
Other comprehensive gain (loss) 57         57  
Ending balance at Mar. 31, 2022 120,168 $ 0 $ 10 $ 0 297,119 64 (177,025)
Ending balance (in shares) at Mar. 31, 2022   0 99,724,843 10,762,566      
Beginning balance at Dec. 31, 2021 142,866 $ 0 $ 9 $ 0 292,082 7 (149,232)
Beginning balance (in shares) at Dec. 31, 2021   0 92,619,641 10,762,566      
Net loss (79,112)            
Ending balance at Sep. 30, 2022 81,528 $ 0 $ 10 $ 0 310,212 (350) (228,344)
Ending balance (in shares) at Sep. 30, 2022   0 103,044,324 10,762,566      
Beginning balance at Mar. 31, 2022 120,168 $ 0 $ 10 $ 0 297,119 64 (177,025)
Beginning balance (in shares) at Mar. 31, 2022   0 99,724,843 10,762,566      
Shares issued during the period for vested restricted stock awards, shares     729,106        
Issuance of common stock upon exercise of stock options 86       86    
Issuance of common stock upon exercise of stock options, shares     266,225        
Shares issued for HX Tracker acquisition, Shares     1,000,000        
Shares issued for HX Tracker acquisition, Amount 4,370       4,370    
Stock-based compensation 998       998    
Net loss (25,683)           (25,683)
Other comprehensive gain (loss) 60         60  
Ending balance at Jun. 30, 2022 99,999 $ 0 $ 10 $ 0 302,573 124 (202,708)
Ending balance (in shares) at Jun. 30, 2022   0 101,720,174 10,762,566      
Shares issued during the period for vested restricted stock awards 1,826       1,826    
Shares issued during the period for vested restricted stock awards, shares     645,896        
Issuance of common stock upon exercise of stock options 274       274    
Issuance of common stock upon exercise of stock options, shares     678,254        
Stock-based compensation 5,539       5,539    
Net loss (25,636)           (25,636)
Other comprehensive gain (loss) (474)         (474)  
Ending balance at Sep. 30, 2022 81,528 $ 0 $ 10 $ 0 310,212 (350) (228,344)
Ending balance (in shares) at Sep. 30, 2022   0 103,044,324 10,762,566      
Beginning balance at Dec. 31, 2022 66,450 $ 0 $ 11 $ 0 315,345 (61) (248,845)
Beginning balance (in shares) at Dec. 31, 2022   0 105,032,588 10,762,566      
Shares issued during the period for vested restricted stock awards 2,775       2,775    
Shares issued during the period for vested restricted stock awards, shares     1,498,987        
Issuance of common stock upon exercise of stock options 51       51    
Issuance of common stock upon exercise of stock options, shares     265,125        
Shares issued for legal settlement 2,000       2,000    
Shares issued for legal settlement, shares     797,396        
Sale of shares 6,292       6,292    
Sale of shares, shares     2,683,000        
Stock issuance costs (32)       (32)    
Stock-based compensation 2,472       2,472    
Net loss (11,762)           (11,762)
Other comprehensive gain (loss) (5)         (5)  
Ending balance at Mar. 31, 2023 68,241 $ 0 $ 11 $ 0 328,903 (66) (260,607)
Ending balance (in shares) at Mar. 31, 2023   0 110,277,096 10,762,566      
Beginning balance at Dec. 31, 2022 66,450 $ 0 $ 11 $ 0 315,345 (61) (248,845)
Beginning balance (in shares) at Dec. 31, 2022   0 105,032,588 10,762,566      
Net loss (39,113)            
Ending balance at Sep. 30, 2023 74,074 $ 0 $ 12 $ 0 362,532 (512) (287,958)
Ending balance (in shares) at Sep. 30, 2023   0 124,954,451 10,762,566      
Beginning balance at Mar. 31, 2023 68,241 $ 0 $ 11 $ 0 328,903 (66) (260,607)
Beginning balance (in shares) at Mar. 31, 2023   0 110,277,096 10,762,566      
Shares issued during the period for vested restricted stock awards 2,085       2,085    
Shares issued during the period for vested restricted stock awards, shares     1,213,037        
Issuance of common stock upon exercise of stock options, shares     39,087        
Sale of shares 17,348   $ 1   17,347    
Sale of shares, shares     6,589,000        
Stock issuance costs (127)       (127)    
Stock-based compensation 2,669       2,669    
Net loss (10,414)           (10,414)
Other comprehensive gain (loss) (408)         (408)  
Ending balance at Jun. 30, 2023 79,394 $ 0 $ 12 $ 0 350,877 (474) (271,021)
Ending balance (in shares) at Jun. 30, 2023   0 118,118,220 10,762,566      
Shares issued during the period for vested restricted stock awards, shares     595,097        
Issuance of common stock upon exercise of stock options 170       170    
Issuance of common stock upon exercise of stock options, shares     403,749        
Sale of shares 10,367       10,367    
Sale of shares, shares     6,149,885        
Stock issuance costs (74)       (74)    
Share repurchase and retirement (shares)     (312,500)        
Stock-based compensation 1,192       1,192    
Net loss (16,937)           (16,937)
Other comprehensive gain (loss) (38)         (38)  
Ending balance at Sep. 30, 2023 $ 74,074 $ 0 $ 12 $ 0 $ 362,532 $ (512) $ (287,958)
Ending balance (in shares) at Sep. 30, 2023   0 124,954,451 10,762,566      
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 30, 2023
Mar. 31, 2023
Sep. 30, 2022
Mar. 31, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Dec. 31, 2021
Cash flows from operating activities                
Net loss $ (16,937) $ (11,762) $ (25,636) $ (27,793) $ (39,113) $ (79,112)    
Adjustments to reconcile net loss to cash used in operating activities:                
Stock-based compensation         9,044 11,147    
Depreciation and amortization         1,004 582    
(Gain) loss from sale of property and equipment         (2) 183    
Amortization of debt issuance cost         532 526    
Provision for obsolete and slow-moving inventory         1,261 129    
Loss from unconsolidated subsidiary         336 0    
Gain from disposal of investment in unconsolidated subsidiary 0   (1,408)   (898) (1,745)    
Warranty provision         3,938 7,374    
Warranty recoverable from manufacturer         45 (299)    
Credit losses and bad debt expense         4,302 1,138    
Deferred income taxes         221 (331)    
Lease expense and other         748 550    
Impact on cash from changes in operating assets and liabilities:                
Accounts receivable, net         (26,625) 53,481    
Inventories         9,033 (8,574)    
Prepaid and other current assets         (3,122) 4,948    
Other assets         67 (661)    
Accounts payable         (6,160) (11,867)    
Accruals and other current liabilities         5,491 (25,507)    
Deferred revenue         (138) 3,489    
Other non-current liabilities         (5,740) (4,188)    
Lease payments and other, net         (607) (348)    
Net cash used in operating activities         (46,383) (49,085) $ 54,500 $ 132,900
Cash flows from investing activities:                
Purchases of property and equipment         (460) (814)    
Proceeds from sale of property and equipment         0 86    
Equity method investment in Alpha Steel         (900) 0    
Acquisitions, net of cash acquired         0 (5,093)    
Proceeds from disposal of investment in unconsolidated subsidiary         898 1,745    
Net cash used in investing activities         (462) (4,076)    
Cash flows from financing activities:                
Sale of common stock         34,007 0    
Stock offering costs paid         (95) 0    
Proceeds from stock option exercises         221 788    
Net cash provided by financing activities         34,133 788    
Effect of exchange rate changes on cash and cash equivalents         (153) 8    
Net decrease in cash and cash equivalents         (12,865) (52,365)    
Cash and cash equivalents at beginning of period   $ 44,385   $ 102,185 44,385 102,185 102,185  
Cash and cash equivalents at end of period $ 31,520   $ 49,820   31,520 49,820 $ 44,385 $ 102,185
Supplemental disclosures of cash flow information:                
Purchases of property and equipment included in ending accounts payable and accruals         146 27    
Stock issued for accrued legal settlement         2,000 0    
Right-of-use asset and lease liability recognition for new leases         1,417 0    
Cash paid during the period for third party interest         436 657    
Cash paid during the period for taxes, net of refunds         $ 331 $ 119    
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.23.3
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Sep. 30, 2023
Sep. 30, 2022
Pay vs Performance Disclosure                
Net Income (Loss) $ (16,937) $ (10,414) $ (11,762) $ (25,636) $ (25,683) $ (27,793) $ (39,113) $ (79,112)
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.23.3
Insider Trading Arrangements
9 Months Ended
Sep. 30, 2023
Trading Arrangements, by Individual  
Material Terms of Trading Arrangement

ITEM 5. OTHER INFORMATION

(a)
Information required to be disclosed in a report on Form 8-K during the period covered by this Form 10-Q, but not reported.

None

(b)
Furnish the information required by Item 407(c)(3) of Regulation S-K (§229.407 of this chapter)

None

(c)
Furnish the information required by Item 408(a) of Regulation S-K (17 CFR 229.408(a)).

During the three months ended September 30, 2023, none of our directors or officers adopted or terminated a "Rule 10b5-1 trading arrangement" or "non-Rule 10b5-1 trading arrangement," as each term is defined in Item 408 of Regulation S-K.

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.23.3
Description of business
9 Months Ended
Sep. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Description of business

1. Description of business

FTC Solar, Inc. (the “Company”, “we”, “our”, or “us”) was founded in 2017 and is incorporated in the state of Delaware. In April 2021, we completed an initial public offering ("IPO"), and our common stock began trading on the Nasdaq Global Market under the symbol “FTCI”.

We are a global provider of solar tracker systems, supported by proprietary software and value-added engineering services. Solar tracker systems move solar panels throughout the day to maintain an optimal orientation relative to the sun, thereby increasing the amount of solar energy produced at a solar installation. Our original tracker system is currently marketed under the Voyager brand name (“Voyager”), which is our two-panel in-portrait ("2P") single-axis tracker solution. In September 2022, we announced the introduction of Pioneer, our new one module-in-portrait ("1P") solar tracker solution. We have also launched a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules by project owners and, in August 2023, we introduced SUNOPS, a cloud-based, tracker-agnostic solar asset monitoring solution allowing asset owners and managers to evaluate the operation and performance of their solar deployments. In addition, we have a team of renewable energy professionals available to assist our U.S. and worldwide clients in site layout, structural design, pile testing and other needs across the solar project development and construction cycle. The Company is headquartered in Austin, Texas, and has international subsidiaries in Australia, China, India and South Africa.

We are an emerging growth company, as defined in the Jumpstart Our Business Startups (JOBS) Act. Under the JOBS Act, we elected to use the allowed extended transition period to delay adopting new or revised accounting standards until such time as those standards apply to private companies.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.23.3
Summary of significant accounting policies
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Summary of significant accounting policies

2. Summary of significant accounting policies

Basis of presentation and principles of consolidation

The accompanying unaudited condensed consolidated financial statements include the results of the Company and its wholly owned subsidiaries and have been prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) for interim financial statements and pursuant to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, all adjustments of a normal recurring nature have been made that are considered necessary for a fair statement of our financial position as of September 30, 2023, and December 31, 2022, our results of operations for the three and nine months ended September 30, 2023 and 2022, and our cash flows for the nine months ended September 30, 2023 and 2022. The condensed consolidated balance sheet as of December 31, 2022 has been derived from the Company’s audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America. Operating results for the three and nine months ended September 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. Intercompany balances and transactions have been eliminated in consolidation.

Certain information and disclosures normally included in the notes to annual financial statements prepared in accordance with U.S. GAAP have been omitted from these interim financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Therefore, these unaudited condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (our "2022 Annual Report").

We currently operate in one business segment, the manufacturing and servicing of solar tracker systems.

Liquidity

We have incurred cumulative losses since inception, resulting in an accumulated deficit of $288.0 million as of September 30, 2023, and have a history of cash outflows from operations. During the years ended December 31, 2021 and 2022, and the nine months ended September 30, 2023, we had $132.9 million, $54.5 million and $46.4 million, respectively, of cash outflows from operations. As of September 30, 2023, we had $31.5 million of cash on hand, $65.4 million of working capital, approximately $64.9 million of remaining

capacity available for future sales of our common stock under our ATM program as described further in Note 5 below, and approximately $98.0 million of unused borrowing capacity under our existing Senior Secured Revolving Credit Facility (the "Credit Facility") until termination on April 30, 2024. The Credit Facility includes a financial condition covenant stating we are required to have a minimum liquidity, consisting of cash on hand and unused borrowing capacity, of $125.0 million as of each quarter end. Additionally, as of September 30, 2023, we had a material contractual obligation that could require us to make additional equity investment capital contributions to Alpha Steel, as described further in "Note 3, Equity method investment".

The Uyghur Forced Labor Prevention Act ("UFLPA") was passed by the U.S. Congress and signed into law by President Biden on December 23, 2021. The UFLPA establishes a rebuttable presumption that the importation of any goods, wares, articles, and merchandise mined, produced, or manufactured wholly or in part in the Xinjiang Uyghur Autonomous Region of the People's Republic of China ("Xinjiang"), or that are produced by certain entities, is prohibited by Section 307 of the Tariff Act of 1930 and that such goods, wares, articles, and merchandise are not entitled to entry to the United States. U.S. Customs and Border Protection ("CBP") began implementing the presumption set out in the UFLPA on June 21, 2022, resulting in new rules for solar module importers and reviews by CBP. There continues to be uncertainty in the market around achieving full compliance with the UFLPA for the importation of solar modules, whether related to sufficient traceability of materials or other factors.

On April 1, 2022, the U.S. Department of Commerce, in response to a petition by Auxin Solar, Inc., published a notice initiating an investigation ("the Solar Circumvention Investigation") of claims related to alleged circumvention of U.S. antidumping and countervailing duties ("AD/CVD") by solar manufacturers in certain Southeast Asian countries, in an effort to determine whether or not solar cells and/or modules made in those Southeast Asian nations use parts originating from China in order to circumvent the AD/CVD tariffs. On June 6, 2022, President Biden issued a proclamation allowing U.S. solar deployers the ability to import solar modules and cells from Cambodia, Malaysia, Thailand and Vietnam free from certain duties for 24 months, along with other incentives designed to accelerate U.S. domestic production of clean energy technologies.

Since 2016, CBP has issued a number of withhold release orders ("WRO") directed at forced labor in China, including WROs directed specifically at activity in Xinjiang. To date, CBP has used the WROs to detain solar panels, which has disrupted the U.S. solar installation market and caused additional uncertainty on future projects.

These policies and actions have resulted in some developers deferring projects due to the uncertainty of panel supply and costs, which negatively impacted our 2022 revenue and cash flows and are continuing to negatively impact our revenue and our cash flows to date in 2023.

The most notable incentive program impacting our U.S. business has been the investment tax credit ("ITC") for solar energy projects, which allows taxpayers to offset their U.S. federal income tax liability by a certain percentage of their cost basis in solar energy systems placed in service for commercial use. The Inflation Reduction Act of 2022, passed by the U.S. Congress and signed into law by President Biden on August 16, 2022, expanded and extended the tax credits and other tax benefits available to solar energy projects and the solar energy supply chain. ITCs have been extended for such projects through at least 2032 and, depending on the location of a particular project and its ability to satisfy certain labor and domestic content requirements, the ITC percentage can range between 30% and 50%. U.S. manufacturers of specific solar components are now eligible to claim production tax credits as an alternative to the ITC. Implementing regulations for this law are still being finalized.

Our costs are affected by the costs of certain components and materials, such as steel, motors and micro-chips, as well as transportation costs. Current market conditions and international conflicts that constrain the supply of materials and disrupt the flow of materials from international vendors impact the cost of our products and services, along with overall rates of inflation in the global economy, which have been higher than pre-COVID 19 pandemic historical rates. Transportation costs, including ocean freight and U.S. domestic haul rates, increased at the beginning of the COVID-19 pandemic but have since returned to pre-pandemic rates. Domestic fuel prices, however, continue to be elevated compared to pre-pandemic rates. Additionally, COVID-19 shutdowns in China during 2022 created a backlog of exports and increased demand for container shipments from China, but such shutdowns have since been eased by the Chinese government. These cost increases and decreases impact our operating margins. We have taken steps to expand and diversify our manufacturing partnerships and have adjusted our modes of transportation to mitigate the impact of headwinds that arise in the global supply chain and logistics markets. As an example, we have modified our ocean freight from previously using charter shipments to now using containerized shipments as costs in the container market began to decrease in 2022. We continue to monitor the logistics markets and will continue to evaluate our use of various modes of transportation when warranted to optimize our transportation costs. Additionally, from February 2022 to September 2023, we utilized a related-party consulting firm to support us in making improvements to our processes and performance in various areas, including design, sourcing, logistics, pricing, software and our distributed generation business. For further information regarding this consulting firm, see "Note 17. Related party transactions".

In accordance with Accounting Standards Codification ("ASC") 205-40, Going Concern, we have evaluated whether there are conditions and events, considered in the aggregate, which raise substantial doubt about our ability to continue as a going concern within one year after the date these condensed consolidated financial statements are issued. While the UFLPA continues to create uncertainty in the market, we believe that passage of the Inflation Reduction Act of 2022, as described above, has reduced the level of uncertainty among solar project owners and developers with regard to new project development in the United States. We note that implementing regulations for the Inflation Reduction Act are still being finalized, which creates uncertainty about the extent of its impact on our Company and the solar energy industry. We also took significant steps in 2022, and are continuing to take further steps in 2023, to address the recent market challenges and our historical use of cash through the following actions:

certain members of our senior management team elected to forego certain cash compensation during the second half of 2022 in exchange for equity compensation;
the members of our board of directors agreed to take equity compensation in lieu of cash compensation during 2023;
we began making certain incentive compensation payments to all employees in stock rather than cash beginning at the end of the second quarter of 2022;
we reduced our workforce by approximately 8% in December of 2022, and another 9% in the third quarter of 2023;
we initially froze non-essential hiring in 2022, placed restrictions on certain travel, decreased the future use of consultants and continue to defer non-critical initiatives;
we have initiated frequent, consistent communication with our customers, which in certain cases has allowed us to resolve issues preventing timely collection of certain past due outstanding receivables;
we have emphasized cash collections from customers, and continue to negotiate improved payment terms with both our customers and vendors and have switched vendors when needed to obtain cost savings;
we launched Pioneer, a 1P solar tracker solution, and introduced a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules not subject to UFLPA;
we reached a settlement agreement with FCX Solar, LLC in December 2022, regarding a lawsuit filed against us relating to claims of patent infringement in order to eliminate future time and expense involved in defending ourselves in this action; under the settlement agreement, we were able to utilize our common stock to satisfy a portion of the settlement payment;
we made an investment to acquire a 45% ownership interest in Alpha Steel, a manufacturing partnership with a leading steel fabricator, which will enhance our domestic supply chain to reduce our exposure to import duties and import restrictions, as described further in "Note 3, Equity method investment" below;
in 2023, we began selling newly issued shares of our common stock under our ATM program (as defined and described further in "Note 5, ATM program" below); and
we continue to actively explore options to obtain additional sources of capital through either the issuance of new debt or equity.

A number of the steps above, as well as improvements in the logistics markets and easing of supply chain constraints, contributed to us having positive gross profit in the nine months ended September 30, 2023, which also reduced our use of cash required to fund our operations during the current year-to-date period.

Management believes that our existing cash on hand, as well as the continuing impact of certain of the actions described above and our expectations of improved market conditions and positive results from our efforts to continue to increase gross margins, will allow us to grow profitably and generate positive cash flow from operations during the next twelve months in amounts that will be sufficient, along with our other available resources, to fund our operations for at least one year from the date of issuance of the condensed consolidated financial statements.

We have achieved success in executing certain of the initiatives above and we continue to work to further reduce our use of cash to fund our operations. We have begun and expect to continue seeing the benefits from production of our Pioneer solution in our financial results during 2024 and we believe passage of the Inflation Reduction Act of 2022 and our investment in Alpha Steel will also ultimately benefit demand for our products in the United States. At the same time, however, new rules for module importers and reviews by CBP pursuant to achieving full compliance with the UFLPA are expected to continue creating uncertainty in the market. However, once there is additional clarity around compliance with the UFLPA and customers get line-of-sight to module deliveries, we believe the market will see a recovery. While there are already many underlying drivers of growth in the solar industry, the expected positive impact on demand for

our products could take longer than expected to occur. In addition, market conditions could deteriorate significantly from what we currently expect, and regulatory and international trade policies could become more stringent as a result of (i) findings from the Solar Circumvention Investigation, (ii) CBP's enforcement of the UFLPA, and (iii) other factors, which may result in a need for us to issue additional debt or obtain new equity financing, which could result in additional shareholder dilution, to continue to adequately fund our existing operations beyond the next twelve months. We may be unable to obtain any desired additional financing on terms favorable to us, or at all, depending on market and other conditions, which could result in curtailment of our current operations and our ability to further invest in our products and new technology. The ability to raise additional financing depends on numerous factors that are outside of our control, including macroeconomic factors such as the impact of inflation, the ongoing conflict in the Ukraine, market conditions, the health of financial institutions (including the recent bankruptcy of certain regional banks and related impacts that have occurred and continue to occur in the banking industry), investors' and lenders' assessments of our prospects and the prospects of the solar industry in general.

Use of estimates

Preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported revenue and expenses during the period. Estimates are used for calculating the measure of progress of our solar tracker projects and deriving the standalone selling prices of the individual performance obligations when determining amounts to recognize for revenue, estimating allowances for credit losses and slow-moving and obsolete inventory, determining useful lives of long-lived assets and the estimated fair value of those assets for impairment assessments, and estimating the fair value of investments, stock compensation awards, warranty liabilities and federal and state taxes, including tax valuation allowances, as well as other contingencies. We base our estimates on historical experience and anticipated results, trends, and various other assumptions that we believe are reasonable under the circumstances, including assumptions as to future events. Actual results could differ from those estimates due to risks and uncertainties.

Concentration of credit risk

Financial instruments that potentially subject the Company to concentrations of credit risk are primarily cash and accounts receivable.

We regularly maintain cash balances with various financial institutions that exceed federally insured amounts, but we have experienced no losses associated with these amounts to date. We also took action in early 2023 to reallocate cash balances between different financial institutions based on our assessment as to the financial health of certain institutions.

We extend credit to customers in the normal course of business, often without requiring collateral. We also perform credit analyses and monitor the financial health of our customers to reduce credit risk.

The Company’s accounts receivables are derived from revenue earned from customers primarily located in the U.S. and Australia. No countries other than the U.S. and Australia account for 10% or more of our revenue. Most of our customers are project developers, solar asset owners and engineering, procurement and construction (“EPC”) contractors that design and build solar energy projects. We typically rely on a small number of customers that account for a large portion of our revenue each period and our outstanding receivables at each period end.

Cash and cash equivalents

We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents. Certain of our cash equivalents include deposits in money market funds that invest primarily in short-term securities issued or guaranteed by the U.S. government or its agencies or instrumentalities and contain no restrictions on immediate redemption. The carrying value for money market fund deposits approximates fair value based on quoted prices in active markets for units held (Level 1 classification) and totaled $18.1 million at September 30, 2023 and $25.4 million at December 31, 2022. Interest earned on cash equivalents is included in interest income, which is reported net of interest expense in our condensed consolidated statements of comprehensive loss.

Accounts receivable, net

Trade receivables are recorded at invoiced amounts, net of allowances for credit losses, and do not bear interest. We generally do not require collateral from our customers; however, in certain circumstances, we may require letters of credit, other collateral, additional guarantees or advance payments.

The allowance for credit losses is based on the lifetime expected credit loss of our customer accounts. To assess the lifetime expected credit loss, we utilize a loss rate method that takes into consideration historical experience and certain other factors, as appropriate, such as credit quality and current economic or other conditions that may affect a customer's ability to pay. Provisions for credit losses are included as a component of our selling and marketing costs.

Receivables arising from revenue recognized in excess of billings represents our unconditional right to consideration before customers are invoiced due to the level of progress obtained as of period end on our contracts to procure and deliver tracker systems and related equipment. Further information may be found below in our revenue recognition policy.

Inventories, net

Inventories are stated at the lower of cost or net realizable value, with costs computed on a first-in, first-out basis. The Company periodically reviews its inventories for excess and obsolete items and adjusts carrying costs to estimated net realizable values when they are determined to be less than cost.

Impairment

We review our long-lived assets that are held for use for impairment whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable or that its useful life may be shorter than previously expected. If such impairment indicators are present or other factors exist that indicate the carrying amount of the asset may not be recoverable, we determine whether an impairment has occurred through the use of an undiscounted cash flow analysis of the asset at the lowest level for which identifiable cash flows exist. If an impairment has occurred, we recognize a loss for the difference between the carrying amount and the fair value of the asset, which in most cases is estimated based upon Level 3 unobservable inputs. If the asset is determined to have a remaining useful life shorter than previously expected an adjustment for the shorter remaining life will be made for purposes of recognizing future depreciation expense. Assets are classified as held for sale when we have a plan, approved by the appropriate levels of management, for disposal of such assets, as well as other considerations, and those assets are stated at the lower of carrying value or estimated fair value less estimated costs to sell.

Intangible assets, net

Intangible assets consist of developed technology in the form of software tools, licenses and intellectual property, which are amortized over the period of their estimated useful lives, generally 2.5 to 3.0 years, using the straight-line method. We evaluate our intangible assets for impairment whenever events or changes in circumstances indicate the carrying amount of our intangible assets may not be recoverable or that their useful lives may be shorter than previously expected.

Goodwill

We recognize goodwill as the excess of the purchase price over the estimated fair value of the identified assets and liabilities acquired in a business combination accounted for using the acquisition method. Goodwill is not amortized but is subject to a periodic assessment for impairment at least annually, or whenever events and circumstances indicate an impairment may exist.

Equity method investment

We use the equity method of accounting for investments in which we have the ability to exercise significant influence, but not control, over operating and financial policies of the investee. Our proportionate share of the net income or loss of these investees is included in our condensed consolidated statements of comprehensive loss. Judgment regarding the level of influence over each equity method investment includes considering key factors such as our ownership interest, legal form of the investee, representation on the board of directors or managers, participation in policy-making decisions and material intra-entity transactions. We account for distributions received from equity method investees under the "nature of the distribution" approach based on the nature of the activity or activities of the investee that generated the distribution as either a return on investment (classified as cash inflows from operating activities) or a return of investment (classified as cash inflows from investing activities).

We evaluate equity method investments for impairment whenever events or changes in circumstances indicate that the carrying amount of the investment might not be recoverable.

Warranty

Typically, the sale of solar tracker projects includes parts warranties to customers as part of the overall price of the product. We provide standard assurance type warranties for our products for periods generally ranging from two to ten years. We record a provision for estimated warranty expenses in cost of sales, net of amounts recoverable from manufacturers under their warranty obligations to us. We do not maintain general or unspecified reserves; all warranty reserves are related to specific projects. All actual or estimated material costs incurred for warranty services in subsequent periods are charged to those established reserves.

While we periodically monitor our warranty activities and claims, if actual costs incurred were to be different from our estimates, we would recognize adjustments to our warranty reserves in the period in which those differences arise or are identified.

Stock-based compensation

We recognize compensation expense for all share-based payment awards made, including stock options and RSUs, based on the estimated fair value of the award on the grant date. We calculate the fair value of stock options using the Black-Scholes option pricing model for awards with service-based vesting or through use of a lattice model or a Monte Carlo simulation for awards with market conditions. The fair value of RSUs is based on the estimated fair value of the Company's common stock on the date of grant. We consider the closing price of our stock, as reported on the Nasdaq Global Market, to be the fair value of our stock on the grant date.

Forfeitures are accounted for as they occur. For service-based awards, stock-based compensation is recognized using the straight-line attribution approach over the requisite service period. For performance-based awards, stock-based compensation is recognized based on graded vesting over the requisite service period when the performance condition is probable of being achieved. Stock compensation expense for market-based awards is recognized over the derived service period determined in the valuation model, inclusive of any vesting conditions.

Revenue recognition

Product revenue is derived from the sale of solar tracker systems and customized components for those systems, individual part sales for certain specific transactions and the sale of term-based software licenses. Term-based licensed software is deployed on the customers’ own servers and has significant standalone functionality.

Service revenue includes revenue from shipping and handling services, engineering consulting and pile testing services, our subscription-based enterprise licensing model and maintenance and support services in connection with the term-based software licenses. Our subscription-based enterprise licensing model typically has contract terms ranging from one to two years and consists of subscription fees from the licensing of subscription services. Our hosted on-demand service arrangements do not provide customers with the right to take possession of the software supporting the hosted services. Support services include ongoing security updates, upgrades, bug fixes, and maintenance.

We recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration to which we expect to be entitled to in exchange for those goods or services by following a five-step process: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when or as the Company satisfies a performance obligation, as further described below.

Identify the contract with a customer: A contract with a customer exists when (i) the Company enters into an enforceable contract with a customer that defines each party’s rights regarding the products and services to be transferred and identifies the payment terms related to these products and services, (ii) the contract has commercial substance, and (iii) the Company determines that collection of substantially all consideration for products and services that are transferred is probable based on the customer’s intent and ability to pay the promised consideration. In assessing the recognition of revenue, we also evaluate whether two or more contracts should be combined and accounted for as one contract and if the combined or single contract should be accounted for as multiple performance obligations which could change the amount of revenue and profit (loss) recorded in a period. Change orders may include changes in specifications or design, manner of performance, equipment, materials, scope of work, and/or the period of completion of the project. We analyze change orders to determine if they should be accounted for as a modification to an existing contract or a new stand-alone contract.

Contracts we enter into with our customers for sale of solar tracker systems are generally under two different types of arrangements: (1) purchase agreements and equipment supply contracts (“Purchase Agreements”), and (2) sale of individual parts for those systems.

Change orders from our customers are generally modifications to existing contracts and are included in the total estimated contract revenue when it is probable that the change order will result in additional value that can be reliably estimated and realized.

Identify the performance obligations in the contract: We enter into contracts that can include various combinations of products and services, which are either capable of being distinct and accounted for as separate performance obligations or as one performance obligation since the majority of tasks and services are part of a single project or capability. However, determining whether products or services are considered distinct performance obligations that should be accounted for separately versus together may sometimes require significant judgment.

Our Purchase Agreements typically include two performance obligations: 1) our solar tracker systems or customized components of those systems, and 2) shipping and handling services. The deliverables included as part of our solar tracker systems are predominantly accounted for as one performance obligation, as these deliverables are part of a combined promise to deliver a project.

The revenue for shipping and handling services will be recognized over time based on progress in meeting shipping terms of the arrangements, as this faithfully depicts the Company’s performance in transferring control. Revenue for stand-alone engineering consulting and pile testing services is recognized at a point in time upon completion of the services performed.

Sales of individual parts of our solar tracker systems for certain specific transactions include multiple performance obligations consisting of individual parts of those systems. Revenue is recognized for parts sales at a point in time when the obligations under the terms of the contract with our customer are satisfied. Generally, this occurs with the transfer of control of the asset, which is in line with shipping terms.

Determine the transaction price: The transaction price is determined based on the consideration to which we will be entitled in exchange for transferring services to the customer. Such amounts are typically stated in the customer contract, and to the extent that we identify variable consideration, we will estimate the variable consideration at the onset of the arrangement as long as it is probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. The majority of our contracts do not contain variable consideration provisions as a continuation of the original contract. None of our contracts contain a significant financing component. Taxes collected from customers and remitted to governmental authorities are not included in revenue.

Allocate the transaction price to performance obligations in the contract: Once we have determined the transaction price, we allocate the total transaction price to each performance obligation in a manner depicting the amount of consideration to which we expect to be entitled in exchange for transferring the good(s) or service(s) to the customer. We allocate the transaction price to each performance obligation identified in the contract on a relative standalone selling price basis.

We use the expected cost-plus margin approach based on hardware, labor, and related overhead cost to estimate the standalone selling price of our solar tracker systems, customized components of those systems, and individual parts for certain specific transactions. We also use the expected cost-plus margin approach based on expected third-party shipping and transportation costs to estimate the standalone selling price of our shipping, handling and logistics performance obligations. We use the adjusted market assessment approach for all other performance obligations.

Recognize revenue when or as the Company satisfies a performance obligation: For each performance obligation identified, we determine at contract inception whether we satisfy the performance obligation over time or at a point in time. The performance obligations in the contracts for our solar tracker systems and customized components of those systems are satisfied over time as work progresses, utilizing an input measure of progress determined by cost-to-cost measures on these projects as this faithfully depicts our performance in transferring control. Additionally, our performance does not create an asset with an alternative use, due to the highly customized nature of the product, and we have an enforceable right to payment for performance completed to date. Our performance obligations for individual part sales for certain specific transactions are recognized at a point in time as and when control transfers based on the Incoterms for the contract. Our performance obligations for engineering consulting and pile testing services are recognized at a point in time upon completion of the services. Our performance obligations for term-based software licenses are recognized at a point in time as and when control transfers, either upon delivery to the customer or the software license start date, whichever is later. Our performance obligations for shipping and handling services are satisfied over time as the services are delivered over the term of the contract. We recognize revenue for subscription

and other services on a straight-line basis over the contract period. With regard to support revenue, a time-elapsed method is used to measure progress because we transfer control evenly over the contractual period. Accordingly, the fixed consideration related to support revenue is generally recognized on a straight-line basis over the contract term.

Contract assets and liabilities: The timing of revenue recognition, billing, and cash collection results in the recognition of accounts receivable, unbilled receivables for revenue recognized in excess of billings, and deferred revenue in the condensed consolidated balance sheets. We may receive advances or deposits from our customers before revenue is recognized, resulting in contract liabilities, which are reflected as “deferred revenue” in our condensed consolidated balance sheets. Revenue recognized during the three and nine months ended September 30, 2023 from amounts included in deferred revenue at December 31, 2022 totaled $1.6 million and $10.9 million, respectively.

Cost of revenue consists primarily of costs related to raw materials, equipment manufacturing activities, freight and delivery, product warranty, remediation and personnel costs (salaries, bonuses, benefits, and stock-based compensation). Personnel costs in cost of revenue include both direct labor costs, as well as costs attributable to any individuals whose activities relate to the procurement, installment and delivery of the finished product and services. Cost of revenue owed but not yet paid is recorded as accrued cost of revenue in the accompanying condensed consolidated financial statements. Deferred cost of revenue results from the timing differences between the costs incurred in advance of the satisfaction of all revenue recognition criteria consistent with our revenue recognition policy.

Recent accounting pronouncements adopted

We adopted ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), as amended, effective January 1, 2023. ASU 2016-13 changed the impairment model for most financial assets and requires the use of an expected loss model in place of the previously used incurred loss method. Under this model, we now estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. We did not have a material impact on our condensed consolidated financial statements upon adoption of ASU 2016-13.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.23.3
Equity method investment
9 Months Ended
Sep. 30, 2023
Equity Method Investments and Joint Ventures [Abstract]  
Equity method investment

3. Equity method investment

On February 9, 2023, we entered into a limited liability company agreement (the "LLC Agreement") with Taihua New Energy (Thailand) Co., LTD ("Taihua"), a leading steel fabricator and an existing vendor, and DAYV LLC, for the creation of Alpha Steel LLC ("Alpha Steel"), a Delaware limited liability company dedicated to producing steel components, including torque tubes, for utility-scale solar projects. The Alpha Steel facility, which is located outside of Houston in Sealy, Texas, is expected to begin commercial production in the fourth quarter of 2023.

We entered into amendment no. 1 to the Alpha Steel LLC Agreement with Taihua and DAYV LLC on July 28, 2023, to allow for members at their option, and with the approval of the Board of Managers, to make payments in respect of Alpha Steel’s contractual obligations in the event that Alpha Steel does not or is not able to make such payments from its own resources (“Credit Support Payments”). Any such Credit Support Payments will be treated as capital contributions by the members to Alpha Steel, with any member funding more than its ratable share of Credit Support Payments being deemed to have loaned such excess to each underfunding member at the U.S. prime rate plus 2%.

Alpha Steel is intended to enhance our domestic supply chain, our ability to support our customers and the growth of the U.S. solar market, with domestic manufacturing utilizing U.S. steel. We have a 45% interest in Alpha Steel, which is accounted for under the equity method of accounting. Taihua has a 51% interest in Alpha Steel and DAYV LLC, an entity owned by members of the Board of Managers of Alpha Steel and a related party with the parent company of Taihua, has a 4% interest in Alpha Steel. The Chief Executive Officer of Taihua is the General Manager of Alpha Steel. We have equal voting representation with Taihua and DAYV LLC, combined, on Alpha Steel's Board of Managers which will be responsible, through majority vote, for making certain "major decisions" involving Alpha Steel, as specified in the LLC Agreement, including, among other things, approval of an annual business plan.

As of September 30, 2023, we made a required initial capital contribution to Alpha Steel of $0.9 million. Pursuant to the LLC Agreement, we could be required to make up to $2.6 million in additional capital contributions as Alpha Steel expands production. Alpha Steel had no operating revenue during the three and nine months ended September 30, 2023. We did, however, recognize a loss of $0.3 million from this unconsolidated subsidiary during the three and nine months ended September 30, 2023, reflecting our share of certain administrative and other expenses incurred to date.

In connection with the creation of Alpha Steel, we also entered into a three-year equipment supply agreement (the "Supply Agreement") with Alpha Steel, the terms of which will apply to our equipment purchase orders, including specified minimum purchase amounts for each twelve-month period during the term of the Supply Agreement, following commencement of production. The Supply Agreement may be terminated early in accordance with its provisions or may be extended beyond the initial term if mutually agreed to by the parties.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.23.3
Reduction in force
9 Months Ended
Sep. 30, 2023
Workforce Activity [Abstract]  
Reduction in force

4. Reduction in force

In August 2023, we restructured and combined selected indirect and administrative functions in order to better control and manage our overhead costs in relation to current market conditions, including the impact of start-up delays for certain customer projects. This effort resulted in a reduction of 21 employees, including certain members of our executive leadership team, or approximately 9% of our existing headcount at that time. In connection with this effort, we recognized severance and termination-related costs as follows:

(in thousands)

 

For the three and nine months ended September 30, 2023

 

Cost of revenue

 

$

252

 

Research and development

 

 

154

 

Selling and marketing

 

 

169

 

General and administrative

 

 

1,513

 

Total

 

$

2,088

 

At September 30, 2023, we had an accrual totaling approximately $1.2 million relating to costs still to be paid to our former employees.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.23.3
ATM Program
9 Months Ended
Sep. 30, 2023
Program Rights Obligations [Abstract]  
ATM Program

5. ATM program

On September 14, 2022, we filed a prospectus supplement and entered into an equity distribution agreement (as amended from time to time, the "EDA") under which we may from time to time, in one or more transactions, offer and sell newly issued shares of our common stock having an aggregate offering price of up to $100 million in "at the money" offerings (the "ATM program"). We have and intend to continue to use the net proceeds from this offering for general corporate purposes, including working capital and operating expenses. We may also use a portion of such proceeds to acquire or invest in businesses, products, services or technologies.

Credit Suisse Securities (USA) LLC served as our initial sales agent under the EDA until August 9, 2023, when that role was assumed by Barclays Capital Inc. ("Barclays") pursuant to an amendment to the EDA. The offering of our common stock under the EDA will terminate upon the earlier of (1) the sale of all common stock subject to the EDA or (2) the termination of the EDA by us or by Barclays as permitted therein. The EDA contains customary representations, covenants and indemnification provisions.

Under the ATM program, we sold 6,149,885 and 15,421,885 shares of newly issued common stock valued at $10.7 million and $35.1 million, respectively (for proceeds, net of commissions and fees, of approximately $10.4 million and $34.0 million, respectively), during the three and nine months ended September 30, 2023. As of September 30, 2023, approximately $64.9 million of capacity remained for future sales of our common stock under the ATM program.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.23.3
Acquisition
9 Months Ended
Sep. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
Equity Method Investments and Joint Ventures Disclosure [Text Block]

3. Equity method investment

On February 9, 2023, we entered into a limited liability company agreement (the "LLC Agreement") with Taihua New Energy (Thailand) Co., LTD ("Taihua"), a leading steel fabricator and an existing vendor, and DAYV LLC, for the creation of Alpha Steel LLC ("Alpha Steel"), a Delaware limited liability company dedicated to producing steel components, including torque tubes, for utility-scale solar projects. The Alpha Steel facility, which is located outside of Houston in Sealy, Texas, is expected to begin commercial production in the fourth quarter of 2023.

We entered into amendment no. 1 to the Alpha Steel LLC Agreement with Taihua and DAYV LLC on July 28, 2023, to allow for members at their option, and with the approval of the Board of Managers, to make payments in respect of Alpha Steel’s contractual obligations in the event that Alpha Steel does not or is not able to make such payments from its own resources (“Credit Support Payments”). Any such Credit Support Payments will be treated as capital contributions by the members to Alpha Steel, with any member funding more than its ratable share of Credit Support Payments being deemed to have loaned such excess to each underfunding member at the U.S. prime rate plus 2%.

Alpha Steel is intended to enhance our domestic supply chain, our ability to support our customers and the growth of the U.S. solar market, with domestic manufacturing utilizing U.S. steel. We have a 45% interest in Alpha Steel, which is accounted for under the equity method of accounting. Taihua has a 51% interest in Alpha Steel and DAYV LLC, an entity owned by members of the Board of Managers of Alpha Steel and a related party with the parent company of Taihua, has a 4% interest in Alpha Steel. The Chief Executive Officer of Taihua is the General Manager of Alpha Steel. We have equal voting representation with Taihua and DAYV LLC, combined, on Alpha Steel's Board of Managers which will be responsible, through majority vote, for making certain "major decisions" involving Alpha Steel, as specified in the LLC Agreement, including, among other things, approval of an annual business plan.

As of September 30, 2023, we made a required initial capital contribution to Alpha Steel of $0.9 million. Pursuant to the LLC Agreement, we could be required to make up to $2.6 million in additional capital contributions as Alpha Steel expands production. Alpha Steel had no operating revenue during the three and nine months ended September 30, 2023. We did, however, recognize a loss of $0.3 million from this unconsolidated subsidiary during the three and nine months ended September 30, 2023, reflecting our share of certain administrative and other expenses incurred to date.

In connection with the creation of Alpha Steel, we also entered into a three-year equipment supply agreement (the "Supply Agreement") with Alpha Steel, the terms of which will apply to our equipment purchase orders, including specified minimum purchase amounts for each twelve-month period during the term of the Supply Agreement, following commencement of production. The Supply Agreement may be terminated early in accordance with its provisions or may be extended beyond the initial term if mutually agreed to by the parties.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts receivable, net
9 Months Ended
Sep. 30, 2023
Accounts Receivable, after Allowance for Credit Loss [Abstract]  
Accounts receivable, net

6. Accounts receivable, net

Accounts receivable consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Trade receivables

 

$

49,963

 

 

$

35,367

 

Related party receivables

 

 

777

 

 

 

 

Revenue recognized in excess of billings

 

 

26,115

 

 

 

14,844

 

Other receivables

 

 

6

 

 

 

25

 

Total

 

 

76,861

 

 

 

50,236

 

Allowance for credit losses

 

 

(5,486

)

 

 

(1,184

)

Accounts receivable, net

 

$

71,375

 

 

$

49,052

 

Information relating to related party receivables at September 30, 2023, may be found below in Note 17, "Related party transactions".

Included in total receivables above are amounts billed under retainage provisions totaling $0.9 million and $3.7 million as of September 30, 2023 and December 31, 2022, respectively, which are due within the next twelve months.

Activity in the allowance for credit losses during the nine months ended September 30, 2023 was as follows:

(in thousands)

 

For the nine months ended September 30, 2023

 

Balance at beginning of period

 

$

1,184

 

Impact of adoption of ASU 2016-13 at beginning of year

 

 

 

Additions charged to earnings during the period

 

 

4,302

 

Balance at end of period

 

$

5,486

 

 

During the three months ended September 30, 2023, we recognized provisions for credit losses totaling $4.1 million.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.23.3
Inventories, net
9 Months Ended
Sep. 30, 2023
Inventory Disclosure [Abstract]  
Inventories, net

7. Inventories, net

Inventories consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Finished goods

 

$

5,444

 

 

$

16,269

 

Allowance for slow-moving and obsolete inventory

 

 

(789

)

 

 

(1,320

)

Total

 

$

4,655

 

 

$

14,949

 

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.23.3
Prepaid and other current assets
9 Months Ended
Sep. 30, 2023
Prepaid Expense and Other Assets, Current [Abstract]  
Prepaid and other current assets . Prepaid and other current assets

Prepaid and other current assets consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Vendor deposits

 

$

5,370

 

 

$

5,085

 

Prepaid expenses

 

 

2,171

 

 

 

3,544

 

Prepaid taxes

 

 

250

 

 

 

163

 

Deferred cost of revenue

 

 

997

 

 

 

 

Surety collateral

 

 

1

 

 

 

107

 

Other current assets

 

 

4,679

 

 

 

1,405

 

Total

 

$

13,468

 

 

$

10,304

 

At September 30, 2023, other current assets included $3.5 million of (i) a short-term, interest-bearing loan to a customer, as well as (ii) a non-interest-bearing customer advance, both of which are for pre-project construction financing activities. These amounts are secured by customer assets and, additionally in one case by a financial guarantee.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.23.3
Leases
9 Months Ended
Sep. 30, 2023
Leases [Abstract]  
Leases

9. Leases

We lease office and warehouse space in various locations, including our corporate headquarters in Austin, Texas. Additionally, we lease space for an applications laboratory in Austin, Texas and have a membership in a collaborative research facility in Colorado. During the nine months ended September 30, 2023, we also leased space (i) in Seguin, Texas for a research and development facility that we began using in the third quarter of 2023 as a replacement for the collaborative research facility in Colorado, (ii) for new offices in India and South Africa and (iii) for employee housing in Australia. All of our manufacturing is outsourced to contract manufacturing partners, and we currently do not own or lease any manufacturing facilities.

Our lease expense consisted of the following:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Operating lease cost

 

$

251

 

 

$

166

 

 

$

748

 

 

$

550

 

Short-term lease cost

 

 

132

 

 

 

122

 

 

 

334

 

 

 

332

 

Total lease cost

 

$

383

 

 

$

288

 

 

$

1,082

 

 

$

882

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reported in:

 

 

 

 

 

 

 

 

 

 

 

 

Cost of revenue

 

$

245

 

 

$

164

 

 

$

710

 

 

$

522

 

Research and development

 

 

14

 

 

 

11

 

 

 

40

 

 

 

33

 

Selling and marketing

 

 

24

 

 

 

12

 

 

 

62

 

 

 

25

 

General and administrative

 

 

100

 

 

 

101

 

 

 

270

 

 

 

302

 

Total lease cost

 

$

383

 

 

$

288

 

 

$

1,082

 

 

$

882

 

Future remaining operating lease payment obligations were as follows:

(in thousands)

 

September 30,
2023

 

Remainder of 2023

 

$

219

 

2024

 

 

818

 

2025

 

 

755

 

2026

 

 

219

 

2027

 

 

192

 

Thereafter

 

 

16

 

Total lease payments

 

 

2,219

 

Less: imputed interest

 

 

(167

)

Present value of operating lease liabilities

 

$

2,052

 

 

 

 

 

Current portion of operating lease liability

 

$

742

 

Operating lease liability, net of current portion

 

 

1,310

 

Present value of operating lease liabilities

 

$

2,052

 

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.23.3
Property and equipment, net
9 Months Ended
Sep. 30, 2023
Property, Plant and Equipment [Abstract]  
Property and equipment, net . Property and equipment, net

Property and equipment consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Leasehold improvements

 

$

157

 

 

$

22

 

Field equipment

 

 

1,012

 

 

 

1,078

 

Information technology equipment

 

 

440

 

 

 

355

 

Tooling

 

 

953

 

 

 

824

 

Capitalized software

 

 

495

 

 

 

250

 

Total

 

 

3,057

 

 

 

2,529

 

Accumulated depreciation

 

 

(1,372

)

 

 

(827

)

Property and equipment, net

 

$

1,685

 

 

$

1,702

 

 

Depreciation expense recognized for the three and nine months ended September 30, 2023, totaled $0.2 million and $0.6 million, respectively. Depreciation expense recognized for the three and nine months ended September 30, 2022, totaled $0.2 million and $0.4 million, respectively.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.23.3
Sales of Equity Method Investments
9 Months Ended
Sep. 30, 2023
Equity Method Investments and Joint Ventures [Abstract]  
Equity method investment

3. Equity method investment

On February 9, 2023, we entered into a limited liability company agreement (the "LLC Agreement") with Taihua New Energy (Thailand) Co., LTD ("Taihua"), a leading steel fabricator and an existing vendor, and DAYV LLC, for the creation of Alpha Steel LLC ("Alpha Steel"), a Delaware limited liability company dedicated to producing steel components, including torque tubes, for utility-scale solar projects. The Alpha Steel facility, which is located outside of Houston in Sealy, Texas, is expected to begin commercial production in the fourth quarter of 2023.

We entered into amendment no. 1 to the Alpha Steel LLC Agreement with Taihua and DAYV LLC on July 28, 2023, to allow for members at their option, and with the approval of the Board of Managers, to make payments in respect of Alpha Steel’s contractual obligations in the event that Alpha Steel does not or is not able to make such payments from its own resources (“Credit Support Payments”). Any such Credit Support Payments will be treated as capital contributions by the members to Alpha Steel, with any member funding more than its ratable share of Credit Support Payments being deemed to have loaned such excess to each underfunding member at the U.S. prime rate plus 2%.

Alpha Steel is intended to enhance our domestic supply chain, our ability to support our customers and the growth of the U.S. solar market, with domestic manufacturing utilizing U.S. steel. We have a 45% interest in Alpha Steel, which is accounted for under the equity method of accounting. Taihua has a 51% interest in Alpha Steel and DAYV LLC, an entity owned by members of the Board of Managers of Alpha Steel and a related party with the parent company of Taihua, has a 4% interest in Alpha Steel. The Chief Executive Officer of Taihua is the General Manager of Alpha Steel. We have equal voting representation with Taihua and DAYV LLC, combined, on Alpha Steel's Board of Managers which will be responsible, through majority vote, for making certain "major decisions" involving Alpha Steel, as specified in the LLC Agreement, including, among other things, approval of an annual business plan.

As of September 30, 2023, we made a required initial capital contribution to Alpha Steel of $0.9 million. Pursuant to the LLC Agreement, we could be required to make up to $2.6 million in additional capital contributions as Alpha Steel expands production. Alpha Steel had no operating revenue during the three and nine months ended September 30, 2023. We did, however, recognize a loss of $0.3 million from this unconsolidated subsidiary during the three and nine months ended September 30, 2023, reflecting our share of certain administrative and other expenses incurred to date.

In connection with the creation of Alpha Steel, we also entered into a three-year equipment supply agreement (the "Supply Agreement") with Alpha Steel, the terms of which will apply to our equipment purchase orders, including specified minimum purchase amounts for each twelve-month period during the term of the Supply Agreement, following commencement of production. The Supply Agreement may be terminated early in accordance with its provisions or may be extended beyond the initial term if mutually agreed to by the parties.

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.23.3
Intangible assets, net and goodwill
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible assets, net and goodwill

11. Intangible assets, net and goodwill

Intangible assets consisted of the following:

(in thousands)

 

Estimated Useful Lives (Years)

 

September 30, 2023

 

 

December 31, 2022

 

Developed technology

 

2.5 3.0

 

$

2,515

 

 

$

2,591

 

Total

 

 

 

 

2,515

 

 

 

2,591

 

Accumulated amortization

 

 

 

 

(1,858

)

 

 

(1,478

)

Intangible assets, net

 

 

 

$

657

 

 

$

1,113

 

Amortization expense recognized for the three and nine months ended September 30, 2023, totaled $0.1 million and $0.4 million, respectively. Amortization expense recognized for the three and nine months ended September 30, 2022, totaled $0.1 million.

During the nine months ended September 30, 2023, activity in our goodwill balance was as follows:

(in thousands)

 

 

 

 

 

Nine months ended September 30, 2023

 

Balance at December 31, 2022

 

 

 

 

 

$

7,538

 

Translation

 

 

 

 

 

 

(395

)

Balance at September 30, 2023

 

 

 

 

 

$

7,143

 

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.23.3
Accrued Expenses and Other Current Liabilities
9 Months Ended
Sep. 30, 2023
Accrued Expenses and Other Current Liabilities Abstract  
Accrued Expenses and Other Current Liabilities

13. Accrued expenses and other current liabilities

Accrued expenses and other current liabilities consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Accrued cost of revenue

 

$

19,923

 

 

$

13,198

 

Related party accrued cost of revenue

 

 

1,304

 

 

 

 

Accrued compensation

 

 

1,666

 

 

 

4,688

 

Other accrued expenses

 

 

2,885

 

 

 

6,010

 

Total accrued expenses

 

$

25,778

 

 

$

23,896

 

 

 

 

 

 

 

 

Warranty reserves

 

$

7,738

 

 

$

8,004

 

Current portion of operating lease liability

 

 

742

 

 

 

417

 

Non-federal tax obligations

 

 

109

 

 

 

463

 

Total other current liabilities

 

$

8,589

 

 

$

8,884

 

Information relating to related party accruals at September 30, 2023, may be found below in Note 17, "Related party transactions".

Other accrued expenses primarily include amounts due for (i) legal and other costs associated with outstanding legal matters and (ii) other professional services.

We provide standard warranties on our hardware products to customers. The liability amount is based on actual historical warranty spending activity by type of product, customer and geographic region, modified by any known differences such as the impact of expected remediation activities or reliability improvements.

Activity by period in the Company's warranty accruals was as follows:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Balance at beginning of period

 

$

12,081

 

 

$

11,444

 

 

$

12,426

 

 

$

9,346

 

Warranties issued during the period(a)

 

 

1,086

 

 

 

3,190

 

 

 

3,938

 

 

 

7,374

 

Settlements made during the period

 

 

(847

)

 

 

(1,759

)

 

 

(3,184

)

 

 

(3,139

)

Changes in liability for pre-existing warranties

 

 

(363

)

 

 

(92

)

 

 

(1,223

)

 

 

(798

)

Balance at end of period

 

$

11,957

 

 

$

12,783

 

 

$

11,957

 

 

$

12,783

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Warranty accruals are reported in:

 

 

 

 

 

 

 

 

 

 

 

 

Other current liabilities

 

$

7,738

 

 

$

8,304

 

 

$

7,738

 

 

$

8,304

 

Other non-current liabilities

 

 

4,219

 

 

 

4,479

 

 

 

4,219

 

 

 

4,479

 

Balance at end of period

 

$

11,957

 

 

$

12,783

 

 

$

11,957

 

 

$

12,783

 

(a)  Inclusive of accruals for expected remediation activities

 

 

 

 

 

 

 

 

 

 

 

 

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.23.3
Debt
9 Months Ended
Sep. 30, 2023
Debt Disclosure [Abstract]  
Debt and Other Borrowings

12. Debt

On April 30, 2021, we entered into an agreement for our Credit Facility with various lenders, including Barclays Bank PLC, as issuing lender, the swingline lender and as administrative agent (the "Credit Facility Agreement") providing aggregate commitments of up to $100.0 million. We have not made any draws on our Credit Facility as of September 30, 2023. However, as of September 30, 2023, we had $2.0 million in letters of credit outstanding that reduced our available borrowing capacity to approximately $98.0 million.

On June 7, 2023, we entered into Amendment No. 3 to our Credit Facility Agreement with Barclays Bank PLC, pursuant to the occurrence of an Early Opt-in Election, to replace USD LIBOR with the secured overnight financing rate (SOFR) as the benchmark rate for future term loans (“Term SOFR”) under the Credit Facility Agreement. No other material changes were made to the Credit Facility Agreement as part of this amendment.

We are required to maintain a liquidity level (defined as unrestricted cash and cash equivalents plus the available borrowing capacity under the Credit Facility) of no less than $125.0 million at each quarter end in order to utilize the Credit Facility. As of September 30, 2023, we were over the required minimum liquidity level thus allowing us to continue to access our Credit Facility up to the available borrowing capacity, pending the measurement of our liquidity level again at the end of the next fiscal quarter.

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies

15. Commitments and contingencies

We may become involved in various claims, lawsuits, investigations, and other proceedings, arising in the normal course of business. We accrue a liability when information available prior to the issuance of our financial statements indicates it is probable a loss has been incurred as of the date of the financial statements and the amount of loss can be reasonably estimated. If the reasonable estimate of the probable loss is a range, we record an accrual for the most likely estimate of the loss, or the low end of the range if there is no one best estimate. We adjust our accruals to reflect the impact of negotiation, settlements, rulings, advice of legal counsel and other information and events pertaining to a particular case. Legal costs are expensed as incurred.

In March of 2023, CBP issued notices of tariff assessment that indicated an action taken at the Import Specialist (i.e., the port) level with respect to merchandise imported from Thailand under entry number 004-1058562-5 (the “625 Assessment”) and entry number 004-1063793-9 (the “Original 939 Assessment”, and collectively with the 625 Assessment, the “Original CBP Assessments”). The Original CBP Assessments related to certain torque beams that are used in our Voyager+ product that were imported in 2022. In the Original CBP Assessments, CPB asserted that Section 301 China tariffs, Section 232 steel & aluminum tariffs, and antidumping and countervailing duties applied to the merchandise. Based on correspondence received to date from CBP and our calculations based on applicable duty and tariff rates, the 625 Assessment is currently for approximately $2.16 million. In September of 2023, CBP informed us (the "Revised 939 Assessment", and together with the 625 Assessment, the "Revised CBP Assessments") that the amount owed under the Original 939 Assessment was being revised downward to approximately $2.01 million. In particular, CBP accepted our position that the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, previously assessed under the Original 939 Assessment are not applicable as they are only applicable to articles that originate in China and that, in this case, the finished goods are products of Thailand.

Upon review of the facts involved, and in consultation with outside legal counsel, we believe that the remaining amounts claimed in the Revised CBP Assessments are incorrect. In particular, the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, are not applicable under the 625 Assessment for the same reason stated above with respect to the Revised 939 Assessment, which has been accepted by CBP. Moreover, with respect to both Revised CBP Assessments, we believe that the goods in question were properly classified as parts of structures at the time of importation and that when properly classified, the beams and other materials are not subject to Section 232 duties applicable to more basic steel products.

CBP has legally finalized both Revised CBP Assessments. We filed a formal protest for the 625 Assessment in September of 2023 and plan to do the same for the Revised 939 Assessment. Based on the above, and under the relevant accounting guidance related to loss contingencies, we have made no accrual for the amounts claimed by CBP as of September 30, 2023, as we do not consider these amounts to be a probable obligation, as such term is defined and interpreted under the relevant accounting guidance, for us at this time. However, because matters of this nature are subject to inherent uncertainties, and unfavorable rulings or developments, including future assessments of additional duties or tariffs owed in respect of other shipments or other materials beyond what is presently included in the Revised CBP Assessments, could occur despite our belief that the tariffs and duties asserted are incorrect, there can be no certainty that the Company may not ultimately incur charges that are not currently recorded as liabilities. Since the outcome of these matters cannot be predicted with certainty, the costs associated with them could have a material adverse effect on our consolidated results of operations, financial position, or liquidity.

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-Based Compensation
9 Months Ended
Sep. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Stock-Based Compensation

16. Stock-based compensation

Stock compensation expense for each period was as follows:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Cost of revenue

 

$

181

 

 

$

1,153

 

 

$

1,313

 

 

$

2,521

 

Research and development

 

 

85

 

 

 

487

 

 

 

449

 

 

 

1,134

 

Selling and marketing

 

 

166

 

 

 

598

 

 

 

821

 

 

 

1,630

 

General and administrative

 

 

760

 

 

 

5,269

 

 

 

6,461

 

 

 

9,970

 

Total stock compensation expense

 

$

1,192

 

 

$

7,507

 

 

$

9,044

 

 

$

15,255

 

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.23.3
Net Loss Per Share
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Net Loss Per Share

18. Net loss per share

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

 

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Net loss (in thousands)

 

$

(16,937

)

 

$

(25,636

)

 

$

(39,113

)

 

$

(79,112

)

Weighted average shares outstanding for calculating basic and diluted loss per share

 

 

119,793,821

 

 

 

102,164,455

 

 

 

112,794,562

 

 

 

100,642,126

 

Basic and diluted loss per share

 

$

(0.14

)

 

$

(0.25

)

 

$

(0.35

)

 

$

(0.79

)

For purposes of computing diluted loss per share, weighted average common shares outstanding do not include potentially dilutive securities that are anti-dilutive, as shown below.

 

 

For the three and nine months ended September 30,

 

 

 

2023

 

 

2022

 

Anti-dilutive securities excluded from calculating dilutive loss per share:

 

 

 

 

 

 

Shares of common stock issuable under stock option plans outstanding

 

 

3,048,139

 

 

 

7,407,333

 

Shares of common stock issuable upon vesting of RSUs

 

 

7,982,821

 

 

 

7,603,064

 

Potential common shares excluded from diluted net loss per share calculation

 

 

11,030,960

 

 

 

15,010,397

 

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes
9 Months Ended
Sep. 30, 2023
Income Tax Disclosure [Abstract]  
Income Taxes

14. Income taxes

For the three months ended September 30, 2023 and 2022 we recorded income tax expense of $0.17 million and an income tax benefit of $0.15 million respectively. For the nine months ended September 30, 2023 and 2022, we recorded income tax expense of $0.18 million and $0.02 million, respectively. These amounts for each period were lower than the statutory rate of 21%, primarily due to a valuation allowance established against the U.S. deferred tax assets.

We have had no material change in our unrecognized tax benefits since December 31, 2022. We recognize accrued interest and penalties related to unrecognized tax benefits as a component of income tax expense. As of September 30, 2023 and December 31, 2022, we had no accrued interest or penalties related to unrecognized tax benefits.

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.23.3
Related Party Transactions
9 Months Ended
Sep. 30, 2023
Related Party Transactions [Abstract]  
Related Party Transactions

17. Related party transactions

Transaction with Ayna.AI LLC

In February 2022, we engaged Ayna.AI LLC (as successor in interest to Fernweh Engaged Operator Company LLC) (“Ayna”) to support us with improvements to our processes and performance in various areas including design, sourcing, logistics, pricing, software and standard configuration. The consideration for this engagement was a combination of cash and stock options, including options that vested over time, as well as options with vesting tied to certain performance metrics. The foregoing engagement constituted a related party transaction as South Lake One LLC, an entity affiliated with Isidoro Quiroga Cortés, a member of our board of directors, and a holder of more than 5% of our outstanding capital stock, is an investor in Ayna. In addition, Discrimen LLC is an investor in Ayna, and Isidoro Quiroga Cortés is affiliated with that entity. Isidoro Quiroga Cortés is also on the board of directors of Ayna.

On September 13, 2023, we executed a termination of the master services agreement and statement of work (collectively, the "Service Agreement") with Ayna and Fernweh Group LLC, the parent company of Fernweh Engaged Operator Company LLC, which resulted in a forfeiture of 2,000,000 unvested stock options that were part of the initial consideration for the engagement. Due to the accelerated timing of the payments required for the cash portion of the initial consideration and the expected service period over which the engagement was estimated to last, we had unamortized prepaid balances remaining at the termination date totaling approximately $3.2 million. These prepaid balances were fully amortized during the three months ended September 30, 2023 as a charge to general and administrative expense. In addition, approximately $1.1 million of stock-based compensation expense previously recognized on the unvested stock options was reversed during the three months ended September 30, 2023 in connection with their forfeiture. An additional 1,000,000 options to purchase shares of common stock at an exercise price of $3.86 per share were fully vested and exercisable as of the termination date.

For the three and nine months ended September 30, 2023, we incurred $2.1 million and $3.5 million, respectively, of general and administrative expense associated with our engagement of Ayna, inclusive of the amounts described above. Cash payments to Ayna in 2023 prior to the termination of the Service Agreement totaled $2.5 million. During the three and nine months ended September 30, 2022, we incurred $0.9 million and $3.0 million, respectively, of general and administrative expenses and made cash payments totaling $1.7 million during the nine months ended September 30, 2022.

Repurchase of common stock and issuance of RSUs

Effective July 5, 2023, we agreed to acquire 312,500 shares of our outstanding common stock held by ARC Family Trust, a related party and greater than 10% shareholder, for no monetary consideration. The acquired shares were then retired. The ARC Family Trust was established by Mr. Ahmad Chatila, a member of our Board of Directors, for the benefit of certain members of his family. Mr. Shaker Sadasivam, the Chairman of our Board of Directors, is the trustee of the ARC Family Trust.

Concurrent with the transaction described above and with the approval of our Board of Directors, we issued 250,000 RSUs to Mr. Tony Alvarez, who was appointed as our Board Observer, effective July 5, 2023, and 62,500 RSUs to Mr. William Aldeen "Dean" Priddy, Jr., a member of our Board of Directors and Chairman of the Audit Committee of the Board. These RSU grants will vest upon the one-year anniversary of the date of grant.

Related party receivables and payables

We have related party receivables at September 30, 2023, totaling $0.8 million for future material costs discounts contractually owed to us by Alpha Steel in connection with the expected receipt of manufacturing incentives available to Alpha Steel under the Inflation Reduction Act as costs are incurred by Alpha Steel to purchase raw materials and manufacture torque tubes and other products that will be used to fulfill purchase orders we issue to Alpha Steel.

We also have related party payables to Alpha Steel at September 30, 2023, totaling $1.3 million for the accrued cost of revenue recognized on certain of our customer projects associated with the cost of products that are being manufactured for us by Alpha Steel.

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.23.3
Summary of significant accounting policies (Policies)
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Basis of presentation and principles of consolidation

Basis of presentation and principles of consolidation

The accompanying unaudited condensed consolidated financial statements include the results of the Company and its wholly owned subsidiaries and have been prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) for interim financial statements and pursuant to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, all adjustments of a normal recurring nature have been made that are considered necessary for a fair statement of our financial position as of September 30, 2023, and December 31, 2022, our results of operations for the three and nine months ended September 30, 2023 and 2022, and our cash flows for the nine months ended September 30, 2023 and 2022. The condensed consolidated balance sheet as of December 31, 2022 has been derived from the Company’s audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America. Operating results for the three and nine months ended September 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. Intercompany balances and transactions have been eliminated in consolidation.

Certain information and disclosures normally included in the notes to annual financial statements prepared in accordance with U.S. GAAP have been omitted from these interim financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Therefore, these unaudited condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (our "2022 Annual Report").

We currently operate in one business segment, the manufacturing and servicing of solar tracker systems
Liquidity

Liquidity

We have incurred cumulative losses since inception, resulting in an accumulated deficit of $288.0 million as of September 30, 2023, and have a history of cash outflows from operations. During the years ended December 31, 2021 and 2022, and the nine months ended September 30, 2023, we had $132.9 million, $54.5 million and $46.4 million, respectively, of cash outflows from operations. As of September 30, 2023, we had $31.5 million of cash on hand, $65.4 million of working capital, approximately $64.9 million of remaining

capacity available for future sales of our common stock under our ATM program as described further in Note 5 below, and approximately $98.0 million of unused borrowing capacity under our existing Senior Secured Revolving Credit Facility (the "Credit Facility") until termination on April 30, 2024. The Credit Facility includes a financial condition covenant stating we are required to have a minimum liquidity, consisting of cash on hand and unused borrowing capacity, of $125.0 million as of each quarter end. Additionally, as of September 30, 2023, we had a material contractual obligation that could require us to make additional equity investment capital contributions to Alpha Steel, as described further in "Note 3, Equity method investment".

The Uyghur Forced Labor Prevention Act ("UFLPA") was passed by the U.S. Congress and signed into law by President Biden on December 23, 2021. The UFLPA establishes a rebuttable presumption that the importation of any goods, wares, articles, and merchandise mined, produced, or manufactured wholly or in part in the Xinjiang Uyghur Autonomous Region of the People's Republic of China ("Xinjiang"), or that are produced by certain entities, is prohibited by Section 307 of the Tariff Act of 1930 and that such goods, wares, articles, and merchandise are not entitled to entry to the United States. U.S. Customs and Border Protection ("CBP") began implementing the presumption set out in the UFLPA on June 21, 2022, resulting in new rules for solar module importers and reviews by CBP. There continues to be uncertainty in the market around achieving full compliance with the UFLPA for the importation of solar modules, whether related to sufficient traceability of materials or other factors.

On April 1, 2022, the U.S. Department of Commerce, in response to a petition by Auxin Solar, Inc., published a notice initiating an investigation ("the Solar Circumvention Investigation") of claims related to alleged circumvention of U.S. antidumping and countervailing duties ("AD/CVD") by solar manufacturers in certain Southeast Asian countries, in an effort to determine whether or not solar cells and/or modules made in those Southeast Asian nations use parts originating from China in order to circumvent the AD/CVD tariffs. On June 6, 2022, President Biden issued a proclamation allowing U.S. solar deployers the ability to import solar modules and cells from Cambodia, Malaysia, Thailand and Vietnam free from certain duties for 24 months, along with other incentives designed to accelerate U.S. domestic production of clean energy technologies.

Since 2016, CBP has issued a number of withhold release orders ("WRO") directed at forced labor in China, including WROs directed specifically at activity in Xinjiang. To date, CBP has used the WROs to detain solar panels, which has disrupted the U.S. solar installation market and caused additional uncertainty on future projects.

These policies and actions have resulted in some developers deferring projects due to the uncertainty of panel supply and costs, which negatively impacted our 2022 revenue and cash flows and are continuing to negatively impact our revenue and our cash flows to date in 2023.

The most notable incentive program impacting our U.S. business has been the investment tax credit ("ITC") for solar energy projects, which allows taxpayers to offset their U.S. federal income tax liability by a certain percentage of their cost basis in solar energy systems placed in service for commercial use. The Inflation Reduction Act of 2022, passed by the U.S. Congress and signed into law by President Biden on August 16, 2022, expanded and extended the tax credits and other tax benefits available to solar energy projects and the solar energy supply chain. ITCs have been extended for such projects through at least 2032 and, depending on the location of a particular project and its ability to satisfy certain labor and domestic content requirements, the ITC percentage can range between 30% and 50%. U.S. manufacturers of specific solar components are now eligible to claim production tax credits as an alternative to the ITC. Implementing regulations for this law are still being finalized.

Our costs are affected by the costs of certain components and materials, such as steel, motors and micro-chips, as well as transportation costs. Current market conditions and international conflicts that constrain the supply of materials and disrupt the flow of materials from international vendors impact the cost of our products and services, along with overall rates of inflation in the global economy, which have been higher than pre-COVID 19 pandemic historical rates. Transportation costs, including ocean freight and U.S. domestic haul rates, increased at the beginning of the COVID-19 pandemic but have since returned to pre-pandemic rates. Domestic fuel prices, however, continue to be elevated compared to pre-pandemic rates. Additionally, COVID-19 shutdowns in China during 2022 created a backlog of exports and increased demand for container shipments from China, but such shutdowns have since been eased by the Chinese government. These cost increases and decreases impact our operating margins. We have taken steps to expand and diversify our manufacturing partnerships and have adjusted our modes of transportation to mitigate the impact of headwinds that arise in the global supply chain and logistics markets. As an example, we have modified our ocean freight from previously using charter shipments to now using containerized shipments as costs in the container market began to decrease in 2022. We continue to monitor the logistics markets and will continue to evaluate our use of various modes of transportation when warranted to optimize our transportation costs. Additionally, from February 2022 to September 2023, we utilized a related-party consulting firm to support us in making improvements to our processes and performance in various areas, including design, sourcing, logistics, pricing, software and our distributed generation business. For further information regarding this consulting firm, see "Note 17. Related party transactions".

In accordance with Accounting Standards Codification ("ASC") 205-40, Going Concern, we have evaluated whether there are conditions and events, considered in the aggregate, which raise substantial doubt about our ability to continue as a going concern within one year after the date these condensed consolidated financial statements are issued. While the UFLPA continues to create uncertainty in the market, we believe that passage of the Inflation Reduction Act of 2022, as described above, has reduced the level of uncertainty among solar project owners and developers with regard to new project development in the United States. We note that implementing regulations for the Inflation Reduction Act are still being finalized, which creates uncertainty about the extent of its impact on our Company and the solar energy industry. We also took significant steps in 2022, and are continuing to take further steps in 2023, to address the recent market challenges and our historical use of cash through the following actions:

certain members of our senior management team elected to forego certain cash compensation during the second half of 2022 in exchange for equity compensation;
the members of our board of directors agreed to take equity compensation in lieu of cash compensation during 2023;
we began making certain incentive compensation payments to all employees in stock rather than cash beginning at the end of the second quarter of 2022;
we reduced our workforce by approximately 8% in December of 2022, and another 9% in the third quarter of 2023;
we initially froze non-essential hiring in 2022, placed restrictions on certain travel, decreased the future use of consultants and continue to defer non-critical initiatives;
we have initiated frequent, consistent communication with our customers, which in certain cases has allowed us to resolve issues preventing timely collection of certain past due outstanding receivables;
we have emphasized cash collections from customers, and continue to negotiate improved payment terms with both our customers and vendors and have switched vendors when needed to obtain cost savings;
we launched Pioneer, a 1P solar tracker solution, and introduced a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules not subject to UFLPA;
we reached a settlement agreement with FCX Solar, LLC in December 2022, regarding a lawsuit filed against us relating to claims of patent infringement in order to eliminate future time and expense involved in defending ourselves in this action; under the settlement agreement, we were able to utilize our common stock to satisfy a portion of the settlement payment;
we made an investment to acquire a 45% ownership interest in Alpha Steel, a manufacturing partnership with a leading steel fabricator, which will enhance our domestic supply chain to reduce our exposure to import duties and import restrictions, as described further in "Note 3, Equity method investment" below;
in 2023, we began selling newly issued shares of our common stock under our ATM program (as defined and described further in "Note 5, ATM program" below); and
we continue to actively explore options to obtain additional sources of capital through either the issuance of new debt or equity.

A number of the steps above, as well as improvements in the logistics markets and easing of supply chain constraints, contributed to us having positive gross profit in the nine months ended September 30, 2023, which also reduced our use of cash required to fund our operations during the current year-to-date period.

Management believes that our existing cash on hand, as well as the continuing impact of certain of the actions described above and our expectations of improved market conditions and positive results from our efforts to continue to increase gross margins, will allow us to grow profitably and generate positive cash flow from operations during the next twelve months in amounts that will be sufficient, along with our other available resources, to fund our operations for at least one year from the date of issuance of the condensed consolidated financial statements.

We have achieved success in executing certain of the initiatives above and we continue to work to further reduce our use of cash to fund our operations. We have begun and expect to continue seeing the benefits from production of our Pioneer solution in our financial results during 2024 and we believe passage of the Inflation Reduction Act of 2022 and our investment in Alpha Steel will also ultimately benefit demand for our products in the United States. At the same time, however, new rules for module importers and reviews by CBP pursuant to achieving full compliance with the UFLPA are expected to continue creating uncertainty in the market. However, once there is additional clarity around compliance with the UFLPA and customers get line-of-sight to module deliveries, we believe the market will see a recovery. While there are already many underlying drivers of growth in the solar industry, the expected positive impact on demand for

our products could take longer than expected to occur. In addition, market conditions could deteriorate significantly from what we currently expect, and regulatory and international trade policies could become more stringent as a result of (i) findings from the Solar Circumvention Investigation, (ii) CBP's enforcement of the UFLPA, and (iii) other factors, which may result in a need for us to issue additional debt or obtain new equity financing, which could result in additional shareholder dilution, to continue to adequately fund our existing operations beyond the next twelve months. We may be unable to obtain any desired additional financing on terms favorable to us, or at all, depending on market and other conditions, which could result in curtailment of our current operations and our ability to further invest in our products and new technology. The ability to raise additional financing depends on numerous factors that are outside of our control, including macroeconomic factors such as the impact of inflation, the ongoing conflict in the Ukraine, market conditions, the health of financial institutions (including the recent bankruptcy of certain regional banks and related impacts that have occurred and continue to occur in the banking industry), investors' and lenders' assessments of our prospects and the prospects of the solar industry in general.

Use of estimates

Use of estimates

Preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported revenue and expenses during the period. Estimates are used for calculating the measure of progress of our solar tracker projects and deriving the standalone selling prices of the individual performance obligations when determining amounts to recognize for revenue, estimating allowances for credit losses and slow-moving and obsolete inventory, determining useful lives of long-lived assets and the estimated fair value of those assets for impairment assessments, and estimating the fair value of investments, stock compensation awards, warranty liabilities and federal and state taxes, including tax valuation allowances, as well as other contingencies. We base our estimates on historical experience and anticipated results, trends, and various other assumptions that we believe are reasonable under the circumstances, including assumptions as to future events. Actual results could differ from those estimates due to risks and uncertainties.

Concentration of credit risk

Concentration of credit risk

Financial instruments that potentially subject the Company to concentrations of credit risk are primarily cash and accounts receivable.

We regularly maintain cash balances with various financial institutions that exceed federally insured amounts, but we have experienced no losses associated with these amounts to date. We also took action in early 2023 to reallocate cash balances between different financial institutions based on our assessment as to the financial health of certain institutions.

We extend credit to customers in the normal course of business, often without requiring collateral. We also perform credit analyses and monitor the financial health of our customers to reduce credit risk.

The Company’s accounts receivables are derived from revenue earned from customers primarily located in the U.S. and Australia. No countries other than the U.S. and Australia account for 10% or more of our revenue. Most of our customers are project developers, solar asset owners and engineering, procurement and construction (“EPC”) contractors that design and build solar energy projects. We typically rely on a small number of customers that account for a large portion of our revenue each period and our outstanding receivables at each period end.

Cash and cash equivalents

Cash and cash equivalents

We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents. Certain of our cash equivalents include deposits in money market funds that invest primarily in short-term securities issued or guaranteed by the U.S. government or its agencies or instrumentalities and contain no restrictions on immediate redemption. The carrying value for money market fund deposits approximates fair value based on quoted prices in active markets for units held (Level 1 classification) and totaled $18.1 million at September 30, 2023 and $25.4 million at December 31, 2022. Interest earned on cash equivalents is included in interest income, which is reported net of interest expense in our condensed consolidated statements of comprehensive loss.

Accounts receivable, net

Accounts receivable, net

Trade receivables are recorded at invoiced amounts, net of allowances for credit losses, and do not bear interest. We generally do not require collateral from our customers; however, in certain circumstances, we may require letters of credit, other collateral, additional guarantees or advance payments.

The allowance for credit losses is based on the lifetime expected credit loss of our customer accounts. To assess the lifetime expected credit loss, we utilize a loss rate method that takes into consideration historical experience and certain other factors, as appropriate, such as credit quality and current economic or other conditions that may affect a customer's ability to pay. Provisions for credit losses are included as a component of our selling and marketing costs.

Receivables arising from revenue recognized in excess of billings represents our unconditional right to consideration before customers are invoiced due to the level of progress obtained as of period end on our contracts to procure and deliver tracker systems and related equipment. Further information may be found below in our revenue recognition policy.

Inventories, net

Inventories, net

Inventories are stated at the lower of cost or net realizable value, with costs computed on a first-in, first-out basis. The Company periodically reviews its inventories for excess and obsolete items and adjusts carrying costs to estimated net realizable values when they are determined to be less than cost.

Impairment

Impairment

We review our long-lived assets that are held for use for impairment whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable or that its useful life may be shorter than previously expected. If such impairment indicators are present or other factors exist that indicate the carrying amount of the asset may not be recoverable, we determine whether an impairment has occurred through the use of an undiscounted cash flow analysis of the asset at the lowest level for which identifiable cash flows exist. If an impairment has occurred, we recognize a loss for the difference between the carrying amount and the fair value of the asset, which in most cases is estimated based upon Level 3 unobservable inputs. If the asset is determined to have a remaining useful life shorter than previously expected an adjustment for the shorter remaining life will be made for purposes of recognizing future depreciation expense. Assets are classified as held for sale when we have a plan, approved by the appropriate levels of management, for disposal of such assets, as well as other considerations, and those assets are stated at the lower of carrying value or estimated fair value less estimated costs to sell.

Intangible assets, net

Intangible assets, net

Intangible assets consist of developed technology in the form of software tools, licenses and intellectual property, which are amortized over the period of their estimated useful lives, generally 2.5 to 3.0 years, using the straight-line method. We evaluate our intangible assets for impairment whenever events or changes in circumstances indicate the carrying amount of our intangible assets may not be recoverable or that their useful lives may be shorter than previously expected.

Goodwill

Goodwill

We recognize goodwill as the excess of the purchase price over the estimated fair value of the identified assets and liabilities acquired in a business combination accounted for using the acquisition method. Goodwill is not amortized but is subject to a periodic assessment for impairment at least annually, or whenever events and circumstances indicate an impairment may exist.

Equity method investments

Equity method investment

We use the equity method of accounting for investments in which we have the ability to exercise significant influence, but not control, over operating and financial policies of the investee. Our proportionate share of the net income or loss of these investees is included in our condensed consolidated statements of comprehensive loss. Judgment regarding the level of influence over each equity method investment includes considering key factors such as our ownership interest, legal form of the investee, representation on the board of directors or managers, participation in policy-making decisions and material intra-entity transactions. We account for distributions received from equity method investees under the "nature of the distribution" approach based on the nature of the activity or activities of the investee that generated the distribution as either a return on investment (classified as cash inflows from operating activities) or a return of investment (classified as cash inflows from investing activities).

We evaluate equity method investments for impairment whenever events or changes in circumstances indicate that the carrying amount of the investment might not be recoverable.

Warranty

Warranty

Typically, the sale of solar tracker projects includes parts warranties to customers as part of the overall price of the product. We provide standard assurance type warranties for our products for periods generally ranging from two to ten years. We record a provision for estimated warranty expenses in cost of sales, net of amounts recoverable from manufacturers under their warranty obligations to us. We do not maintain general or unspecified reserves; all warranty reserves are related to specific projects. All actual or estimated material costs incurred for warranty services in subsequent periods are charged to those established reserves.

While we periodically monitor our warranty activities and claims, if actual costs incurred were to be different from our estimates, we would recognize adjustments to our warranty reserves in the period in which those differences arise or are identified.

Stock-based compensation

Stock-based compensation

We recognize compensation expense for all share-based payment awards made, including stock options and RSUs, based on the estimated fair value of the award on the grant date. We calculate the fair value of stock options using the Black-Scholes option pricing model for awards with service-based vesting or through use of a lattice model or a Monte Carlo simulation for awards with market conditions. The fair value of RSUs is based on the estimated fair value of the Company's common stock on the date of grant. We consider the closing price of our stock, as reported on the Nasdaq Global Market, to be the fair value of our stock on the grant date.

Forfeitures are accounted for as they occur. For service-based awards, stock-based compensation is recognized using the straight-line attribution approach over the requisite service period. For performance-based awards, stock-based compensation is recognized based on graded vesting over the requisite service period when the performance condition is probable of being achieved. Stock compensation expense for market-based awards is recognized over the derived service period determined in the valuation model, inclusive of any vesting conditions.

Revenue recognition

Revenue recognition

Product revenue is derived from the sale of solar tracker systems and customized components for those systems, individual part sales for certain specific transactions and the sale of term-based software licenses. Term-based licensed software is deployed on the customers’ own servers and has significant standalone functionality.

Service revenue includes revenue from shipping and handling services, engineering consulting and pile testing services, our subscription-based enterprise licensing model and maintenance and support services in connection with the term-based software licenses. Our subscription-based enterprise licensing model typically has contract terms ranging from one to two years and consists of subscription fees from the licensing of subscription services. Our hosted on-demand service arrangements do not provide customers with the right to take possession of the software supporting the hosted services. Support services include ongoing security updates, upgrades, bug fixes, and maintenance.

We recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration to which we expect to be entitled to in exchange for those goods or services by following a five-step process: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when or as the Company satisfies a performance obligation, as further described below.

Identify the contract with a customer: A contract with a customer exists when (i) the Company enters into an enforceable contract with a customer that defines each party’s rights regarding the products and services to be transferred and identifies the payment terms related to these products and services, (ii) the contract has commercial substance, and (iii) the Company determines that collection of substantially all consideration for products and services that are transferred is probable based on the customer’s intent and ability to pay the promised consideration. In assessing the recognition of revenue, we also evaluate whether two or more contracts should be combined and accounted for as one contract and if the combined or single contract should be accounted for as multiple performance obligations which could change the amount of revenue and profit (loss) recorded in a period. Change orders may include changes in specifications or design, manner of performance, equipment, materials, scope of work, and/or the period of completion of the project. We analyze change orders to determine if they should be accounted for as a modification to an existing contract or a new stand-alone contract.

Contracts we enter into with our customers for sale of solar tracker systems are generally under two different types of arrangements: (1) purchase agreements and equipment supply contracts (“Purchase Agreements”), and (2) sale of individual parts for those systems.

Change orders from our customers are generally modifications to existing contracts and are included in the total estimated contract revenue when it is probable that the change order will result in additional value that can be reliably estimated and realized.

Identify the performance obligations in the contract: We enter into contracts that can include various combinations of products and services, which are either capable of being distinct and accounted for as separate performance obligations or as one performance obligation since the majority of tasks and services are part of a single project or capability. However, determining whether products or services are considered distinct performance obligations that should be accounted for separately versus together may sometimes require significant judgment.

Our Purchase Agreements typically include two performance obligations: 1) our solar tracker systems or customized components of those systems, and 2) shipping and handling services. The deliverables included as part of our solar tracker systems are predominantly accounted for as one performance obligation, as these deliverables are part of a combined promise to deliver a project.

The revenue for shipping and handling services will be recognized over time based on progress in meeting shipping terms of the arrangements, as this faithfully depicts the Company’s performance in transferring control. Revenue for stand-alone engineering consulting and pile testing services is recognized at a point in time upon completion of the services performed.

Sales of individual parts of our solar tracker systems for certain specific transactions include multiple performance obligations consisting of individual parts of those systems. Revenue is recognized for parts sales at a point in time when the obligations under the terms of the contract with our customer are satisfied. Generally, this occurs with the transfer of control of the asset, which is in line with shipping terms.

Determine the transaction price: The transaction price is determined based on the consideration to which we will be entitled in exchange for transferring services to the customer. Such amounts are typically stated in the customer contract, and to the extent that we identify variable consideration, we will estimate the variable consideration at the onset of the arrangement as long as it is probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. The majority of our contracts do not contain variable consideration provisions as a continuation of the original contract. None of our contracts contain a significant financing component. Taxes collected from customers and remitted to governmental authorities are not included in revenue.

Allocate the transaction price to performance obligations in the contract: Once we have determined the transaction price, we allocate the total transaction price to each performance obligation in a manner depicting the amount of consideration to which we expect to be entitled in exchange for transferring the good(s) or service(s) to the customer. We allocate the transaction price to each performance obligation identified in the contract on a relative standalone selling price basis.

We use the expected cost-plus margin approach based on hardware, labor, and related overhead cost to estimate the standalone selling price of our solar tracker systems, customized components of those systems, and individual parts for certain specific transactions. We also use the expected cost-plus margin approach based on expected third-party shipping and transportation costs to estimate the standalone selling price of our shipping, handling and logistics performance obligations. We use the adjusted market assessment approach for all other performance obligations.

Recognize revenue when or as the Company satisfies a performance obligation: For each performance obligation identified, we determine at contract inception whether we satisfy the performance obligation over time or at a point in time. The performance obligations in the contracts for our solar tracker systems and customized components of those systems are satisfied over time as work progresses, utilizing an input measure of progress determined by cost-to-cost measures on these projects as this faithfully depicts our performance in transferring control. Additionally, our performance does not create an asset with an alternative use, due to the highly customized nature of the product, and we have an enforceable right to payment for performance completed to date. Our performance obligations for individual part sales for certain specific transactions are recognized at a point in time as and when control transfers based on the Incoterms for the contract. Our performance obligations for engineering consulting and pile testing services are recognized at a point in time upon completion of the services. Our performance obligations for term-based software licenses are recognized at a point in time as and when control transfers, either upon delivery to the customer or the software license start date, whichever is later. Our performance obligations for shipping and handling services are satisfied over time as the services are delivered over the term of the contract. We recognize revenue for subscription

and other services on a straight-line basis over the contract period. With regard to support revenue, a time-elapsed method is used to measure progress because we transfer control evenly over the contractual period. Accordingly, the fixed consideration related to support revenue is generally recognized on a straight-line basis over the contract term.

Contract assets and liabilities: The timing of revenue recognition, billing, and cash collection results in the recognition of accounts receivable, unbilled receivables for revenue recognized in excess of billings, and deferred revenue in the condensed consolidated balance sheets. We may receive advances or deposits from our customers before revenue is recognized, resulting in contract liabilities, which are reflected as “deferred revenue” in our condensed consolidated balance sheets. Revenue recognized during the three and nine months ended September 30, 2023 from amounts included in deferred revenue at December 31, 2022 totaled $1.6 million and $10.9 million, respectively.

Cost of revenue consists primarily of costs related to raw materials, equipment manufacturing activities, freight and delivery, product warranty, remediation and personnel costs (salaries, bonuses, benefits, and stock-based compensation). Personnel costs in cost of revenue include both direct labor costs, as well as costs attributable to any individuals whose activities relate to the procurement, installment and delivery of the finished product and services. Cost of revenue owed but not yet paid is recorded as accrued cost of revenue in the accompanying condensed consolidated financial statements. Deferred cost of revenue results from the timing differences between the costs incurred in advance of the satisfaction of all revenue recognition criteria consistent with our revenue recognition policy.

Recent accounting pronouncements adopted

Recent accounting pronouncements adopted

We adopted ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), as amended, effective January 1, 2023. ASU 2016-13 changed the impairment model for most financial assets and requires the use of an expected loss model in place of the previously used incurred loss method. Under this model, we now estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. We did not have a material impact on our condensed consolidated financial statements upon adoption of ASU 2016-13.

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.23.3
Reduction in force (Tables)
9 Months Ended
Sep. 30, 2023
Workforce Activity [Abstract]  
Schedule Of severance and termination-related costs we recognized severance and termination-related costs as follows:

(in thousands)

 

For the three and nine months ended September 30, 2023

 

Cost of revenue

 

$

252

 

Research and development

 

 

154

 

Selling and marketing

 

 

169

 

General and administrative

 

 

1,513

 

Total

 

$

2,088

 

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts receivable, net (Tables)
9 Months Ended
Sep. 30, 2023
Accounts Receivable, after Allowance for Credit Loss [Abstract]  
Schedule of accounts receivable, net

Accounts receivable consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Trade receivables

 

$

49,963

 

 

$

35,367

 

Related party receivables

 

 

777

 

 

 

 

Revenue recognized in excess of billings

 

 

26,115

 

 

 

14,844

 

Other receivables

 

 

6

 

 

 

25

 

Total

 

 

76,861

 

 

 

50,236

 

Allowance for credit losses

 

 

(5,486

)

 

 

(1,184

)

Accounts receivable, net

 

$

71,375

 

 

$

49,052

 

Schedule of Accounts Receivable Allowance for Credit Loss

Activity in the allowance for credit losses during the nine months ended September 30, 2023 was as follows:

(in thousands)

 

For the nine months ended September 30, 2023

 

Balance at beginning of period

 

$

1,184

 

Impact of adoption of ASU 2016-13 at beginning of year

 

 

 

Additions charged to earnings during the period

 

 

4,302

 

Balance at end of period

 

$

5,486

 

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.23.3
Inventories, net (Tables)
9 Months Ended
Sep. 30, 2023
Inventory Disclosure [Abstract]  
Schedule of inventories

Inventories consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Finished goods

 

$

5,444

 

 

$

16,269

 

Allowance for slow-moving and obsolete inventory

 

 

(789

)

 

 

(1,320

)

Total

 

$

4,655

 

 

$

14,949

 

XML 44 R33.htm IDEA: XBRL DOCUMENT v3.23.3
Prepaid and other current assets (Tables)
9 Months Ended
Sep. 30, 2023
Prepaid Expense and Other Assets, Current [Abstract]  
Schedule of prepaid and other current assets

Prepaid and other current assets consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Vendor deposits

 

$

5,370

 

 

$

5,085

 

Prepaid expenses

 

 

2,171

 

 

 

3,544

 

Prepaid taxes

 

 

250

 

 

 

163

 

Deferred cost of revenue

 

 

997

 

 

 

 

Surety collateral

 

 

1

 

 

 

107

 

Other current assets

 

 

4,679

 

 

 

1,405

 

Total

 

$

13,468

 

 

$

10,304

 

At September 30, 2023, other current assets included $3.5 million of (i) a short-term, interest-bearing loan to a customer, as well as (ii) a non-interest-bearing customer advance, both of which are for pre-project construction financing activities. These amounts are secured by customer assets and, additionally in one case by a financial guarantee.

XML 45 R34.htm IDEA: XBRL DOCUMENT v3.23.3
Leases (Tables)
9 Months Ended
Sep. 30, 2023
Leases [Abstract]  
Summary of Lease Expense

Our lease expense consisted of the following:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Operating lease cost

 

$

251

 

 

$

166

 

 

$

748

 

 

$

550

 

Short-term lease cost

 

 

132

 

 

 

122

 

 

 

334

 

 

 

332

 

Total lease cost

 

$

383

 

 

$

288

 

 

$

1,082

 

 

$

882

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reported in:

 

 

 

 

 

 

 

 

 

 

 

 

Cost of revenue

 

$

245

 

 

$

164

 

 

$

710

 

 

$

522

 

Research and development

 

 

14

 

 

 

11

 

 

 

40

 

 

 

33

 

Selling and marketing

 

 

24

 

 

 

12

 

 

 

62

 

 

 

25

 

General and administrative

 

 

100

 

 

 

101

 

 

 

270

 

 

 

302

 

Total lease cost

 

$

383

 

 

$

288

 

 

$

1,082

 

 

$

882

 

Summary of Future Remaining Lease Payments Obligations

Future remaining operating lease payment obligations were as follows:

(in thousands)

 

September 30,
2023

 

Remainder of 2023

 

$

219

 

2024

 

 

818

 

2025

 

 

755

 

2026

 

 

219

 

2027

 

 

192

 

Thereafter

 

 

16

 

Total lease payments

 

 

2,219

 

Less: imputed interest

 

 

(167

)

Present value of operating lease liabilities

 

$

2,052

 

 

 

 

 

Current portion of operating lease liability

 

$

742

 

Operating lease liability, net of current portion

 

 

1,310

 

Present value of operating lease liabilities

 

$

2,052

 

XML 46 R35.htm IDEA: XBRL DOCUMENT v3.23.3
Property and equipment, net (Tables)
9 Months Ended
Sep. 30, 2023
Property, Plant and Equipment [Abstract]  
Schedule of property and equipment

Property and equipment consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Leasehold improvements

 

$

157

 

 

$

22

 

Field equipment

 

 

1,012

 

 

 

1,078

 

Information technology equipment

 

 

440

 

 

 

355

 

Tooling

 

 

953

 

 

 

824

 

Capitalized software

 

 

495

 

 

 

250

 

Total

 

 

3,057

 

 

 

2,529

 

Accumulated depreciation

 

 

(1,372

)

 

 

(827

)

Property and equipment, net

 

$

1,685

 

 

$

1,702

 

 

XML 47 R36.htm IDEA: XBRL DOCUMENT v3.23.3
Intangible assets, net and goodwill (Tables)
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Summary of intangible assets

Intangible assets consisted of the following:

(in thousands)

 

Estimated Useful Lives (Years)

 

September 30, 2023

 

 

December 31, 2022

 

Developed technology

 

2.5 3.0

 

$

2,515

 

 

$

2,591

 

Total

 

 

 

 

2,515

 

 

 

2,591

 

Accumulated amortization

 

 

 

 

(1,858

)

 

 

(1,478

)

Intangible assets, net

 

 

 

$

657

 

 

$

1,113

 

Schedule of goodwill activity

During the nine months ended September 30, 2023, activity in our goodwill balance was as follows:

(in thousands)

 

 

 

 

 

Nine months ended September 30, 2023

 

Balance at December 31, 2022

 

 

 

 

 

$

7,538

 

Translation

 

 

 

 

 

 

(395

)

Balance at September 30, 2023

 

 

 

 

 

$

7,143

 

XML 48 R37.htm IDEA: XBRL DOCUMENT v3.23.3
Accrued Expenses and Other Current Liabilities (Tables)
9 Months Ended
Sep. 30, 2023
Accrued Expenses and Other Current Liabilities Abstract  
Schedule of Accrued Expenses and Other Current Liabilities

Accrued expenses and other current liabilities consisted of the following:

(in thousands)

 

September 30, 2023

 

 

December 31, 2022

 

Accrued cost of revenue

 

$

19,923

 

 

$

13,198

 

Related party accrued cost of revenue

 

 

1,304

 

 

 

 

Accrued compensation

 

 

1,666

 

 

 

4,688

 

Other accrued expenses

 

 

2,885

 

 

 

6,010

 

Total accrued expenses

 

$

25,778

 

 

$

23,896

 

 

 

 

 

 

 

 

Warranty reserves

 

$

7,738

 

 

$

8,004

 

Current portion of operating lease liability

 

 

742

 

 

 

417

 

Non-federal tax obligations

 

 

109

 

 

 

463

 

Total other current liabilities

 

$

8,589

 

 

$

8,884

 

Information relating to related party accruals at September 30, 2023, may be found below in Note 17, "Related party transactions".

Schedule of warranty accruals

Activity by period in the Company's warranty accruals was as follows:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Balance at beginning of period

 

$

12,081

 

 

$

11,444

 

 

$

12,426

 

 

$

9,346

 

Warranties issued during the period(a)

 

 

1,086

 

 

 

3,190

 

 

 

3,938

 

 

 

7,374

 

Settlements made during the period

 

 

(847

)

 

 

(1,759

)

 

 

(3,184

)

 

 

(3,139

)

Changes in liability for pre-existing warranties

 

 

(363

)

 

 

(92

)

 

 

(1,223

)

 

 

(798

)

Balance at end of period

 

$

11,957

 

 

$

12,783

 

 

$

11,957

 

 

$

12,783

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Warranty accruals are reported in:

 

 

 

 

 

 

 

 

 

 

 

 

Other current liabilities

 

$

7,738

 

 

$

8,304

 

 

$

7,738

 

 

$

8,304

 

Other non-current liabilities

 

 

4,219

 

 

 

4,479

 

 

 

4,219

 

 

 

4,479

 

Balance at end of period

 

$

11,957

 

 

$

12,783

 

 

$

11,957

 

 

$

12,783

 

(a)  Inclusive of accruals for expected remediation activities

 

 

 

 

 

 

 

 

 

 

 

 

XML 49 R38.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies (Tables)
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Summary of Changes in Product Warranty Reserves

Activity by period in the Company's warranty accruals was as follows:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Balance at beginning of period

 

$

12,081

 

 

$

11,444

 

 

$

12,426

 

 

$

9,346

 

Warranties issued during the period(a)

 

 

1,086

 

 

 

3,190

 

 

 

3,938

 

 

 

7,374

 

Settlements made during the period

 

 

(847

)

 

 

(1,759

)

 

 

(3,184

)

 

 

(3,139

)

Changes in liability for pre-existing warranties

 

 

(363

)

 

 

(92

)

 

 

(1,223

)

 

 

(798

)

Balance at end of period

 

$

11,957

 

 

$

12,783

 

 

$

11,957

 

 

$

12,783

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Warranty accruals are reported in:

 

 

 

 

 

 

 

 

 

 

 

 

Other current liabilities

 

$

7,738

 

 

$

8,304

 

 

$

7,738

 

 

$

8,304

 

Other non-current liabilities

 

 

4,219

 

 

 

4,479

 

 

 

4,219

 

 

 

4,479

 

Balance at end of period

 

$

11,957

 

 

$

12,783

 

 

$

11,957

 

 

$

12,783

 

(a)  Inclusive of accruals for expected remediation activities

 

 

 

 

 

 

 

 

 

 

 

 

XML 50 R39.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-based compensation (Tables)
9 Months Ended
Sep. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Schedule of Stock compensation expense

Stock compensation expense for each period was as follows:

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

(in thousands)

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Cost of revenue

 

$

181

 

 

$

1,153

 

 

$

1,313

 

 

$

2,521

 

Research and development

 

 

85

 

 

 

487

 

 

 

449

 

 

 

1,134

 

Selling and marketing

 

 

166

 

 

 

598

 

 

 

821

 

 

 

1,630

 

General and administrative

 

 

760

 

 

 

5,269

 

 

 

6,461

 

 

 

9,970

 

Total stock compensation expense

 

$

1,192

 

 

$

7,507

 

 

$

9,044

 

 

$

15,255

 

XML 51 R40.htm IDEA: XBRL DOCUMENT v3.23.3
Net Loss Per Share (Tables)
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Schedule of Computation of Basic and Diluted Income (Loss) Per Share

 

 

Three months ended September 30,

 

 

Nine months ended September 30,

 

 

 

2023

 

 

2022

 

 

2023

 

 

2022

 

Net loss (in thousands)

 

$

(16,937

)

 

$

(25,636

)

 

$

(39,113

)

 

$

(79,112

)

Weighted average shares outstanding for calculating basic and diluted loss per share

 

 

119,793,821

 

 

 

102,164,455

 

 

 

112,794,562

 

 

 

100,642,126

 

Basic and diluted loss per share

 

$

(0.14

)

 

$

(0.25

)

 

$

(0.35

)

 

$

(0.79

)

Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share

For purposes of computing diluted loss per share, weighted average common shares outstanding do not include potentially dilutive securities that are anti-dilutive, as shown below.

 

 

For the three and nine months ended September 30,

 

 

 

2023

 

 

2022

 

Anti-dilutive securities excluded from calculating dilutive loss per share:

 

 

 

 

 

 

Shares of common stock issuable under stock option plans outstanding

 

 

3,048,139

 

 

 

7,407,333

 

Shares of common stock issuable upon vesting of RSUs

 

 

7,982,821

 

 

 

7,603,064

 

Potential common shares excluded from diluted net loss per share calculation

 

 

11,030,960

 

 

 

15,010,397

 

XML 52 R41.htm IDEA: XBRL DOCUMENT v3.23.3
Summary of Significant Accounting Policies - Additional Information (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended 12 Months Ended
Mar. 25, 2022
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Dec. 31, 2021
Aug. 31, 2023
Sep. 14, 2022
Accumulated deficit   $ (287,958)   $ (287,958)   $ (248,845)      
Net cash used in operating activities       46,383 $ 49,085 $ (54,500) $ (132,900)    
Cash   31,500   31,500          
Working capital   65,400   65,400          
Unused borrowing capacity   $ 98,000   98,000          
Requirement to maintain minimum liquidity limit each quarter       $ 125,000          
Reduction in workforce   9.00%   9.00%   8.00%   9.00%  
Concentrations of credit risk, percentage   10.00%   10.00%          
Warranty description       We provide standard assurance type warranties for our products for periods generally ranging from two to ten years          
Revenue recognized included in deferred revenue       $ 1,600   $ 10,900      
Common stock, par value   $ 0.0001   $ 0.0001   $ 0.0001      
Money Market Funds, at Carrying Value   $ 18,100   $ 18,100   $ 25,400      
Stock based compensation expense   1,192 $ 7,507 9,044 15,255        
General and administrative   $ 11,411 $ 13,059 $ 31,053 $ 39,966        
Investment to acquire ownership interest   45.00%   45.00%          
ATM Program [Member]                  
Common Stock Value Authorized                 $ 100,000
Minimum [Member]                  
Investment tax credit, percentage 30.00%                
Intangible assets, estimated useful life   2 years 6 months   2 years 6 months          
Product warranty life       2 years          
Subscription revenue contract terms       1 year          
Maximum [Member]                  
Investment tax credit, percentage 50.00%                
Intangible assets, estimated useful life   3 years   3 years          
Product warranty life       10 years          
Subscription revenue contract terms       2 years          
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.23.3
Equity method investment - Additional Information (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Feb. 09, 2023
Schedule of Equity Method Investments [Line Items]      
Investment to acquire ownership interest 45.00% 45.00%  
Taihua New Energy [Member]      
Schedule of Equity Method Investments [Line Items]      
Ownership percentage     51.00%
DAYV LLC [Member]      
Schedule of Equity Method Investments [Line Items]      
Ownership percentage     4.00%
Alpha Steel [Member]      
Schedule of Equity Method Investments [Line Items]      
Ownership percentage     45.00%
Capital contributions $ 0.9 $ 0.9  
Additional capital contributions   2.6  
Loss from unconsolidated subsidiary $ 0.3 $ 0.3  
Investment to acquire ownership interest     2.00%
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.23.3
Reduction in force - Summary of severance and termination-related costs (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Workforce Activity [Line Items]    
Severance Costs $ 2,088 $ 2,088
Cost of revenue [Member]    
Workforce Activity [Line Items]    
Severance Costs 252 252
Research and development [Member]    
Workforce Activity [Line Items]    
Severance Costs 154 154
Selling and marketing [Member]    
Workforce Activity [Line Items]    
Severance Costs 169 169
General and administrative [Member]    
Workforce Activity [Line Items]    
Severance Costs $ 1,513 $ 1,513
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.23.3
Reduction in force (Additional Information) (Details)
$ in Millions
1 Months Ended
Aug. 31, 2023
Employees
Sep. 30, 2023
USD ($)
Dec. 31, 2022
Workforce Activity [Abstract]      
Reduction in number Of employee | Employees 21    
Reduction in workforce 9.00% 9.00% 8.00%
Employee related liabilities | $   $ 1.2  
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.23.3
ATM Program - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 30, 2023
Sep. 30, 2022
Sep. 14, 2022
Subsidiary, Sale of Stock [Line Items]            
Issuance of common stock, value $ 10,367 $ 17,348 $ 6,292      
Proceeds from common stock       $ 34,007 $ 0  
ATM Program [Member]            
Subsidiary, Sale of Stock [Line Items]            
Common stock, value authorized           $ 100,000
Issuance of common stock (in shares) 6,149,885     15,421,885    
Issuance of common stock, value $ 10,700     $ 35,100    
Proceeds from common stock 10,400     34,000    
Common stock, reserved for future issuance, value $ 64,900     $ 64,900    
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.23.3
Acquisition - Additional Information (Details)
Sep. 30, 2023
Minimum [Member]  
Business Acquisition [Line Items]  
Intangible assets, estimated useful life 2 years 6 months
Maximum [Member]  
Business Acquisition [Line Items]  
Intangible assets, estimated useful life 3 years
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.23.3
Acquisition - Schedule of Goodwill Activity (Details)
$ in Thousands
Sep. 30, 2023
USD ($)
Business Combination and Asset Acquisition [Abstract]  
Goodwill, Beginning Balance $ 7,538
Goodwill, Ending Balance $ 7,143
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts receivable, net - Schedule of Accounts Receivable, Net (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Accounts Receivable, after Allowance for Credit Loss [Abstract]    
Trade receivables $ 49,963 $ 35,367
Related party receivables 777 0
Revenue recognized in excess of billings 26,115 14,844
Other receivables 6 25
Total 76,861 50,236
Allowance for credit losses (5,486) (1,184)
Accounts receivable, net $ 71,375 $ 49,052
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts receivable, net - Additional Information (Details) - USD ($)
$ in Millions
3 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Accounts Receivable, after Allowance for Credit Loss [Abstract]    
Retainage provisions included in receivables $ 0.9 $ 3.7
Provision For Credit Losses $ 4.1  
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts receivable, net - Schedule of Accounts Receivable Allowance for Credit Loss (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2023
USD ($)
Accounts Receivable, after Allowance for Credit Loss [Abstract]  
Accounts Receivable, Allowance for Credit Loss, Beginning Balance $ 1,184
Additions charged to earnings during the period 4,302
Accounts Receivable, Allowance for Credit Loss, Ending Balance $ 5,486
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.23.3
Inventories, net - Schedule of inventories (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Inventory Disclosure [Abstract]    
Finished goods $ 5,444 $ 16,269
Allowance for slow-moving and obsolete inventory (789) (1,320)
Total $ 4,655 $ 14,949
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue - Additional Information - (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Disaggregation of Revenue [Line Items]    
Deferred revenue $ 11,178 $ 11,316
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.23.3
Prepaid and other current assets - Schedule of Prepaid and other current assets (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Prepaid Expense and Other Assets, Current [Abstract]    
Vendor deposits $ 5,370 $ 5,085
Prepaid expense 2,171 3,544
Prepaid taxes 250 163
Deferred cost of revenue 997 0
Surety collateral 1 107
Other current assets 4,679 1,405
Total $ 13,468 $ 10,304
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.23.3
Prepaid and other current assets (Additional Information) (Details)
$ in Millions
Sep. 30, 2023
USD ($)
Prepaid Expense and Other Assets, Current [Abstract]  
Short-term Interest Bearing Loan & Customer dvance $ 3.5 [1],[2]
[1] (i) a short-term, interest-bearing loan to a customer, as well as
[2] (ii) a non-interest-bearing customer advance, both of which are for pre-project construction financing activities. These amounts are secured by customer assets and, additionally in one case by a financial guarantee.
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.23.3
Leases - Summary of Lease Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Lessee, Lease, Description [Line Items]        
Operating lease cost $ 251 $ 166 $ 748 $ 550
Short-term lease cost 132 122 334 332
Total lease cost 383 288 1,082 882
Cost of revenue [Member]        
Lessee, Lease, Description [Line Items]        
Total lease cost 245 164 710 522
Research and development [Member]        
Lessee, Lease, Description [Line Items]        
Total lease cost 14 11 40 33
Selling and marketing [Member]        
Lessee, Lease, Description [Line Items]        
Total lease cost 24 12 62 25
General and administrative [Member]        
Lessee, Lease, Description [Line Items]        
Total lease cost $ 100 $ 101 $ 270 $ 302
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.23.3
Leases - Summary of Future Remaining Lease Payments Obligations (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Sep. 30, 2022
Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]      
Remainder of 2023 $ 219    
2024 818    
2025 755    
2026 219    
2027 192    
Thereafter 16    
Total lease payments 2,219    
Less imputed interest (167)    
Current portion of operating lease liability 742 $ 417  
Operating lease liability, net of current portion 1,310 $ 786  
Present value of operating lease liabilities $ 2,052   $ 2,052
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.23.3
Property and equipment, net - Schedule of property and equipment (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 3,057 $ 2,529
Accumulated depreciation (1,372) (827)
Property and equipment, net 1,685 1,702
Leasehold Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 157 22
Field Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 1,012 1,078
Information Technology Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 440 355
Tooling [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 953 824
Capitalized Software [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 495 $ 250
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.23.3
Property and equipment, net - Additional Information (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Property, Plant and Equipment [Abstract]        
Depreciation expense $ 0.2 $ 0.2 $ 0.6 $ 0.4
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.23.3
Intangible assets, net and goodwill - Summary of intangible assets (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, gross $ 2,515 $ 2,591
Accumulated amortization (1,858) (1,478)
Intangible assets, net $ 657 1,113
Minimum [Member]    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, estimated useful life 2 years 6 months  
Maximum [Member]    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, estimated useful life 3 years  
Developed Technology [Member]    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, gross $ 2,515 $ 2,591
Developed Technology [Member] | Minimum [Member]    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, estimated useful life 2 years 6 months  
Developed Technology [Member] | Maximum [Member]    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, estimated useful life 3 years  
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.23.3
Intangible assets, net and goodwill - Additional Information (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Indefinite-Lived Intangible Assets [Line Items]        
Amortization expense $ 0.1 $ 0.1 $ 0.4 $ 0.1
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.23.3
Intangible assets, net and goodwill - Summary of goodwill activity (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2023
USD ($)
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill, Beginning Balance $ 7,538
Translation (395)
Goodwill, Ending Balance $ 7,143
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.23.3
Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Sep. 30, 2022
Accrued Expenses and Other Current Liabilities Abstract      
Accrued cost of revenue $ 19,923 $ 13,198  
Related party accrued cost of revenue 1,304 0  
Accrued compensation 1,666 4,688  
Other accrued expenses 2,885 6,010  
Total accrued expenses 25,778 23,896  
Warranty reserves 7,738 8,004 $ 8,304
Current portion of operating lease liability $ 742 $ 417  
Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Total other current liabilities Total other current liabilities  
Non-federal tax obligations $ 109 $ 463  
Total other current liabilities $ 8,589 $ 8,884  
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.23.3
Accrued expenses and other current liabilities - Schedule of warranty accruals (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Accrued Expenses and Other Current Liabilities Abstract          
Balance at beginning of period $ 12,081 $ 11,444 $ 12,426 $ 9,346  
Warranties issued during the period 1,086 3,190 3,938 7,374  
Settlements made during the period (847) (1,759) (3,184) (3,139)  
Changes in liability for pre-existing warranties (363) (92) (1,223) (798)  
Balance at end 's period 11,957 12,783 11,957 12,783  
Accrued warranty balance reported in:          
Other current liabilities 7,738 8,304 7,738 8,304 $ 8,004
Other non-current liabilities 4,219 4,479 4,219 4,479  
Balance at end of period $ 11,957 $ 12,783 $ 11,957 $ 12,783 $ 12,426
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.23.3
Sales of Equity Method Investments - Summarized Financial Information For Equity Method Investments (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Sep. 30, 2023
Sep. 30, 2022
Statement of operations                
Gross loss $ 3,379     $ (9,515)     $ 7,615 $ (25,314)
Net loss (16,937) $ (10,414) $ (11,762) (25,636) $ (25,683) $ (27,793) (39,113) (79,112)
Loss from unconsolidated subsidiary $ (336)     $ 0     $ (336) $ 0
XML 76 R65.htm IDEA: XBRL DOCUMENT v3.23.3
Debt - Additional Information (Details) - Credit Facility Agreement [Member] - USD ($)
$ in Millions
Sep. 30, 2023
Apr. 30, 2021
Debt Instrument [Line Items]    
Available borrowing capacity under the Credit Facility $ 125.0  
Barclays Bank PLC [Member] | Letter of Credit [Member]    
Debt Instrument [Line Items]    
Letters of credit outstanding 98.0  
Credit Facility amount $ 2.0  
Aggregate commitments   $ 100.0
XML 77 R66.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Additional Information (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2023
USD ($)
Product Warranty Liability [Line Items]  
Description of Tariffs classification In particular, CBP accepted our position that the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, previously assessed under the Original 939 Assessment are not applicable as they are only applicable to articles that originate in China
Description of Revised Tariffs classification In particular, the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, are not applicable under the 625 Assessment for the same reason stated above with respect to the Revised 939 Assessment, which has been accepted by CBP.
939 Assessment [Member]  
Product Warranty Liability [Line Items]  
Cost of Assessment $ 2,010
CBP Assessments [Member]  
Product Warranty Liability [Line Items]  
Cost of Assessment $ 2,160
XML 78 R67.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-Based Compensation - Stock compensation expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock based compensation expense $ 1,192 $ 7,507 $ 9,044 $ 15,255
Cost of revenue [Member]        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock based compensation expense 181 1,153 1,313 2,521
Research and development [Member]        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock based compensation expense 85 487 449 1,134
Selling and marketing [Member]        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock based compensation expense 166 598 821 1,630
General and administrative [Member]        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock based compensation expense $ 760 $ 5,269 $ 6,461 $ 9,970
XML 79 R68.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity - Additional Information (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Class of Stock [Line Items]          
Preferred Stock, Shares Authorized 10,000,000   10,000,000   10,000,000
Preferred Stock, Par or Stated Value Per Share $ 0.0001   $ 0.0001   $ 0.0001
Preferred Stock, Shares Issued 0   0   0
Common stock, shares authorized 850,000,000   850,000,000   850,000,000
Common stock, par value $ 0.0001   $ 0.0001   $ 0.0001
Common stock, shares issued 124,954,451   124,954,451   105,032,588
Common stock, value, issued $ 12   $ 12   $ 11
Operating Expenses 19,656 $ 17,179 46,656 $ 54,397  
Treasury stock, value $ 0   $ 0   $ 0
XML 80 R69.htm IDEA: XBRL DOCUMENT v3.23.3
Net Loss Per Share - Schedule of Computation of Basic and Diluted Loss Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Sep. 30, 2023
Sep. 30, 2022
Earnings Per Share [Abstract]                
Net Income (Loss) $ (16,937) $ (10,414) $ (11,762) $ (25,636) $ (25,683) $ (27,793) $ (39,113) $ (79,112)
Basic weighted-average number of common shares outstanding 119,793,821     102,164,455     112,794,562 100,642,126
Diluted weighted-average number of common shares outstanding 119,793,821     102,164,455     112,794,562 100,642,126
Basic loss per share $ (0.14)     $ (0.25)     $ (0.35) $ (0.79)
Diluted loss per share $ (0.14)     $ (0.25)     $ (0.35) $ (0.79)
XML 81 R70.htm IDEA: XBRL DOCUMENT v3.23.3
Net Loss Per Share - Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share (Details) - shares
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Potential common shares excluded from diluted net loss per share 11,030,960 15,010,397 11,030,960 15,010,397
Stock Options [Member]        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Potential common shares excluded from diluted net loss per share 3,048,139 7,407,333 3,048,139 7,407,333
Restricted Stock Awards [Member]        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Potential common shares excluded from diluted net loss per share 7,982,821 7,603,064 7,982,821 7,603,064
XML 82 R71.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Income Tax Contingency [Line Items]          
Income tax expense (benefit) $ (166) $ 151 $ (175) $ (15)  
Change in deferred tax assets valuation allowance, percentage     21.00%    
Income Tax Interest and Penalties Accrued $ 0   $ 0   $ 0
XML 83 R72.htm IDEA: XBRL DOCUMENT v3.23.3
Segment Information - Schedule of Company's Total Revenue by Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Revenues $ 30,548 $ 16,572 $ 103,801 $ 96,846
XML 84 R73.htm IDEA: XBRL DOCUMENT v3.23.3
Related party transactions - Additional Information (Detail) - USD ($)
$ / shares in Units, $ in Millions
1 Months Ended 3 Months Ended 9 Months Ended
Sep. 13, 2023
Feb. 28, 2022
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Jul. 05, 2023
Dec. 31, 2022
Related Party Transaction [Line Items]                
Cash payments         $ 1.7      
Stock-based compensation expense reversed     $ 1.1          
Purchase shares of common stock     1,000,000          
Exercise price per share     $ 3.86   $ 3.86      
Common stock, shares outstanding     124,954,451   124,954,451   312,500 105,032,588
Common stock, shares issued     124,954,451   124,954,451     105,032,588
Percentage of shareholders             10.00%  
Alpha Steel [Member]                
Related Party Transaction [Line Items]                
Related party receivable         $ 0.8      
Related party payble         1.3      
Fernweh Engaged Operator Company LLC [Member]                
Related Party Transaction [Line Items]                
Forfeiture of unvested stock 2,000,000              
Unamortized Prepaid Balance $ 3.2              
South Lake One LLC [Member]                
Related Party Transaction [Line Items]                
Outstanding capital stock held   5.00%            
Ayna [Member]                
Related Party Transaction [Line Items]                
Cash payments         2.5      
Restricted Stock Units (RSUs) [Member] | Director [Member]                
Related Party Transaction [Line Items]                
Common stock, shares issued             250,000  
Restricted Stock Units (RSUs) [Member] | Board of Directors Chairman [Member]                
Related Party Transaction [Line Items]                
Common stock, shares issued             62,500  
Related Party [Member] | Fernweh Engaged Operator Company LLC [Member]                
Related Party Transaction [Line Items]                
General and administrative expense     $ 2.1   $ 3.5      
Related Party [Member] | Ayna [Member]                
Related Party Transaction [Line Items]                
General and administrative expense       $ 0.9   $ 3.0    
XML 85 R74.htm IDEA: XBRL DOCUMENT v3.23.3
Subsequent events (Additional Information) (Details)
Jul. 05, 2023
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]  
percentage of shareholders 10.00%
XML 86 ftci-20230930_htm.xml IDEA: XBRL DOCUMENT 0001828161 us-gaap:ProductMember 2023-07-01 2023-09-30 0001828161 us-gaap:PreferredStockMember 2023-06-30 0001828161 us-gaap:ToolsDiesAndMoldsMember 2023-09-30 0001828161 srt:MinimumMember 2023-01-01 2023-09-30 0001828161 srt:MaximumMember 2023-01-01 2023-09-30 0001828161 srt:MaximumMember us-gaap:DevelopedTechnologyRightsMember 2023-09-30 0001828161 2021-01-01 2021-12-31 0001828161 us-gaap:RetainedEarningsMember 2023-03-31 0001828161 us-gaap:DevelopedTechnologyRightsMember 2023-09-30 0001828161 us-gaap:PreferredStockMember 2021-12-31 0001828161 us-gaap:PreferredStockMember 2022-12-31 0001828161 ftci:AtmProgramMember 2022-09-14 0001828161 us-gaap:CommonStockMember 2023-03-31 0001828161 us-gaap:ProductMember 2023-01-01 2023-09-30 0001828161 us-gaap:ServiceMember 2023-07-01 2023-09-30 0001828161 us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-09-30 0001828161 ftci:TreasuryStock1Member 2021-12-31 0001828161 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001828161 us-gaap:RestrictedStockMember 2023-07-01 2023-09-30 0001828161 ftci:AlphaSteelMember 2023-07-01 2023-09-30 0001828161 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001828161 us-gaap:RevolvingCreditFacilityMember 2023-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001828161 us-gaap:CostOfSalesMember 2022-07-01 2022-09-30 0001828161 srt:MaximumMember 2022-03-25 2022-03-25 0001828161 ftci:SouthLakeOneLlcMember 2022-02-01 2022-02-28 0001828161 2023-07-01 2023-09-30 0001828161 us-gaap:CommonStockMember 2022-04-01 2022-06-30 0001828161 us-gaap:RetainedEarningsMember 2021-12-31 0001828161 us-gaap:ResearchAndDevelopmentExpenseMember 2022-07-01 2022-09-30 0001828161 us-gaap:EmployeeStockOptionMember 2023-07-01 2023-09-30 0001828161 us-gaap:LeaseholdImprovementsMember 2023-09-30 0001828161 us-gaap:CommonStockMember 2022-09-30 0001828161 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001828161 srt:MaximumMember 2023-09-30 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-01 2023-06-30 0001828161 ftci:TreasuryStock1Member 2022-09-30 0001828161 ftci:AynaMember us-gaap:RelatedPartyMember 2022-07-01 2022-09-30 0001828161 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-09-30 0001828161 ftci:AynaMember us-gaap:RelatedPartyMember 2022-01-01 2022-09-30 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001828161 ftci:TreasuryStock1Member 2022-12-31 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-31 0001828161 2022-01-01 2022-09-30 0001828161 us-gaap:EquipmentMember 2022-12-31 0001828161 ftci:TreasuryStock1Member 2022-03-31 0001828161 us-gaap:ToolsDiesAndMoldsMember 2022-12-31 0001828161 us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001828161 ftci:TreasuryStock1Member 2023-09-30 0001828161 ftci:TreasuryStock1Member 2022-06-30 0001828161 us-gaap:RevolvingCreditFacilityMember ftci:PlcBarclaysBankMember us-gaap:LetterOfCreditMember 2021-04-30 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-03-31 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001828161 ftci:AtmProgramMember 2023-07-01 2023-09-30 0001828161 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001828161 2022-03-31 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-01 2022-06-30 0001828161 srt:BoardOfDirectorsChairmanMember us-gaap:RestrictedStockUnitsRSUMember 2023-07-05 0001828161 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-09-30 0001828161 ftci:AlphaSteelMember 2023-01-01 2023-09-30 0001828161 us-gaap:CostOfSalesMember 2023-01-01 2023-09-30 0001828161 us-gaap:ProductMember 2022-01-01 2022-09-30 0001828161 us-gaap:SellingAndMarketingExpenseMember 2022-07-01 2022-09-30 0001828161 us-gaap:CommonStockMember 2021-12-31 0001828161 2023-04-01 2023-06-30 0001828161 us-gaap:ServiceMember 2023-01-01 2023-09-30 0001828161 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001828161 us-gaap:RetainedEarningsMember 2023-06-30 0001828161 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001828161 2023-09-30 0001828161 2022-12-31 0001828161 us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-09-30 0001828161 ftci:AssessmentMember 2023-01-01 2023-09-30 0001828161 ftci:TreasuryStock1Member 2023-06-30 0001828161 us-gaap:CommonStockMember 2023-09-30 0001828161 srt:MinimumMember 2023-09-30 0001828161 us-gaap:CostOfSalesMember 2022-01-01 2022-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001828161 us-gaap:SoftwareDevelopmentMember 2022-12-31 0001828161 us-gaap:RetainedEarningsMember 2022-06-30 0001828161 ftci:DayvLlcMember 2023-02-09 0001828161 us-gaap:SoftwareDevelopmentMember 2023-09-30 0001828161 us-gaap:RestrictedStockMember 2022-07-01 2022-09-30 0001828161 us-gaap:RestrictedStockMember 2023-01-01 2023-09-30 0001828161 us-gaap:RetainedEarningsMember 2022-12-31 0001828161 us-gaap:GeneralAndAdministrativeExpenseMember 2023-07-01 2023-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001828161 ftci:FernwehEngagedOperatorCompanyLlcMember 2023-09-13 0001828161 us-gaap:ServiceMember 2022-01-01 2022-09-30 0001828161 us-gaap:PreferredStockMember 2022-06-30 0001828161 us-gaap:RevolvingCreditFacilityMember ftci:PlcBarclaysBankMember us-gaap:LetterOfCreditMember 2023-09-30 0001828161 us-gaap:RestrictedStockMember 2022-01-01 2022-09-30 0001828161 2023-01-01 2023-03-31 0001828161 us-gaap:TechnologyEquipmentMember 2023-09-30 0001828161 srt:MinimumMember 2022-03-25 2022-03-25 0001828161 ftci:FernwehEngagedOperatorCompanyLlcMember us-gaap:RelatedPartyMember 2023-01-01 2023-09-30 0001828161 ftci:AlphaSteelMember 2023-09-30 0001828161 2023-01-01 2023-09-30 0001828161 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001828161 us-gaap:RetainedEarningsMember 2022-03-31 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001828161 us-gaap:SellingAndMarketingExpenseMember 2023-07-01 2023-09-30 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001828161 us-gaap:PreferredStockMember 2022-09-30 0001828161 us-gaap:ResearchAndDevelopmentExpenseMember 2023-07-01 2023-09-30 0001828161 2022-01-01 2022-03-31 0001828161 us-gaap:CostOfSalesMember 2023-07-01 2023-09-30 0001828161 ftci:TaihuaNewEnergyMember 2023-02-09 0001828161 ftci:FernwehEngagedOperatorCompanyLlcMember us-gaap:RelatedPartyMember 2023-07-01 2023-09-30 0001828161 us-gaap:PreferredStockMember 2023-09-30 0001828161 us-gaap:CommonStockMember 2022-06-30 0001828161 us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001828161 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-09-30 0001828161 2023-10-31 0001828161 srt:MinimumMember us-gaap:DevelopedTechnologyRightsMember 2023-09-30 0001828161 us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001828161 us-gaap:CommonStockMember 2023-06-30 0001828161 us-gaap:TechnologyEquipmentMember 2022-12-31 0001828161 ftci:AtmProgramMember 2023-01-01 2023-09-30 0001828161 ftci:AynaMember 2023-01-01 2023-09-30 0001828161 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-09-30 0001828161 srt:DirectorMember us-gaap:RestrictedStockUnitsRSUMember 2023-07-05 0001828161 2022-07-01 2022-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2022-09-30 0001828161 us-gaap:RetainedEarningsMember 2022-09-30 0001828161 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001828161 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001828161 us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-09-30 0001828161 us-gaap:EquipmentMember 2023-09-30 0001828161 2023-06-30 0001828161 ftci:TreasuryStock1Member 2023-03-31 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001828161 us-gaap:ProductMember 2022-07-01 2022-09-30 0001828161 us-gaap:PreferredStockMember 2022-03-31 0001828161 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001828161 us-gaap:CommonStockMember 2022-03-31 0001828161 ftci:FernwehEngagedOperatorCompanyLlcMember 2023-09-13 2023-09-13 0001828161 2023-08-31 0001828161 2023-07-05 0001828161 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001828161 2022-06-30 0001828161 2023-03-31 0001828161 us-gaap:RetainedEarningsMember 2023-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001828161 2021-12-31 0001828161 ftci:AlphaSteelMember 2023-02-09 0001828161 us-gaap:PreferredStockMember 2023-03-31 0001828161 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001828161 us-gaap:DevelopedTechnologyRightsMember 2022-12-31 0001828161 us-gaap:CommonStockMember 2022-12-31 0001828161 us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001828161 ftci:AtmProgramMember 2023-09-30 0001828161 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001828161 ftci:CbpAssessmentsMember 2023-01-01 2023-09-30 0001828161 2022-01-01 2022-12-31 0001828161 2022-09-30 0001828161 us-gaap:GeneralAndAdministrativeExpenseMember 2022-07-01 2022-09-30 0001828161 us-gaap:ServiceMember 2022-07-01 2022-09-30 0001828161 us-gaap:EmployeeStockOptionMember 2022-07-01 2022-09-30 0001828161 2022-04-01 2022-06-30 0001828161 2023-08-01 2023-08-31 ftci:Employees pure shares iso4217:USD iso4217:USD shares --12-31 Q3 false 0001828161 P2Y P1Y http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent 10-Q true 2023-09-30 2023 false 001-40350 FTC SOLAR, INC. DE 81-4816270 9020 N Capital of Texas Hwy Suite I-260 Austin TX 78759 737 787-7906 Common Stock, $0.0001 par value FTCI NASDAQ Yes Yes Accelerated Filer false true false false 125005820 31520000 44385000 71375000 49052000 4655000 14949000 13468000 10304000 121018000 118690000 2006000 1154000 1685000 1702000 657000 1113000 7143000 7538000 564000 0 3186000 4201000 136259000 134398000 9782000 15801000 25778000 23896000 262000 443000 11178000 11316000 8589000 8884000 55589000 60340000 1310000 786000 5286000 6822000 62185000 67948000 0.0001 0.0001 10000000 10000000 0 0 0 0 0.0001 0.0001 850000000 850000000 124954451 124954451 105032588 105032588 12000 11000 10762566 10762566 0 0 362532000 315345000 -512000 -61000 -287958000 -248845000 74074000 66450000 136259000 134398000 27274000 3543000 80927000 43677000 3274000 13029000 22874000 53169000 30548000 16572000 103801000 96846000 22775000 11411000 73694000 62800000 4394000 14676000 22492000 59360000 27169000 26087000 96186000 122160000 3379000 -9515000 7615000 -25314000 1921000 2126000 5716000 7538000 6324000 1994000 9887000 6893000 11411000 13059000 31053000 39966000 19656000 17179000 46656000 54397000 -16277000 -26694000 -39041000 -79711000 -108000 -160000 -194000 -882000 0 1408000 898000 1745000 -50000 -341000 -265000 -249000 -336000 0 -336000 0 -16771000 -25787000 -38938000 -79097000 166000 -151000 175000 15000 -16937000 -25636000 -39113000 -79112000 -38000 -474000 -451000 -357000 -16975000 -26110000 -39564000 -79469000 -0.14 -0.14 -0.25 -0.25 -0.35 -0.35 -0.79 -0.79 119793821 119793821 102164455 102164455 112794562 112794562 100642126 100642126 0 0 105032588 11000 10762566 0 315345000 -61000 -248845000 66450000 1498987 2775000 2775000 265125 51000 51000 797396 2000000 2000000 2683000 6292000 6292000 32000 32000 2472000 2472000 -11762000 -11762000 -5000 -5000 0 0 110277096 11000 10762566 0 328903000 -66000 -260607000 68241000 1213037 2085000 2085000 39087 6589000 1000 17347000 17348000 127000 127000 2669000 2669000 -10414000 -10414000 -408000 -408000 0 0 118118220 12000 10762566 0 350877000 -474000 -271021000 79394000 595097 403749 170000 170000 6149885 10367000 10367000 74000 74000 -312500 1192000 1192000 -16937000 -16937000 -38000 -38000 0 0 124954451 12000 10762566 0 362532000 -512000 -287958000 74074000 0 0 92619641 9000 10762566 0 292082000 7000 -149232000 142866000 5311326 1000 -1000 1793876 428000 428000 4610000 4610000 -27793000 -27793000 57000 57000 0 0 99724843 10000 10762566 0 297119000 64000 -177025000 120168000 729106 266225 86000 86000 1000000 4370000 4370000 998000 998000 -25683000 -25683000 60000 60000 0 0 101720174 10000 10762566 0 302573000 124000 -202708000 99999000 645896 1826000 1826000 678254 274000 274000 5539000 5539000 -25636000 -25636000 -474000 -474000 0 0 103044324 10000 10762566 0 310212000 -350000 -228344000 81528000 -39113000 -79112000 9044000 11147000 1004000 582000 2000 -183000 532000 526000 1261000 129000 -336000 0 898000 1745000 3938000 7374000 -45000 299000 4302000 1138000 221000 -331000 -748000 -550000 26625000 -53481000 -9033000 8574000 3122000 -4948000 -67000 661000 -6160000 -11867000 5491000 -25507000 -138000 3489000 -5740000 -4188000 607000 348000 -46383000 -49085000 460000 814000 0 86000 900000 0 0 5093000 898000 1745000 -462000 -4076000 34007000 0 95000 0 221000 788000 34133000 788000 -153000 8000 -12865000 -52365000 44385000 102185000 31520000 49820000 146000 27000 2000000 0 1417000 0 436000 657000 331000 119000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1. Description of business</span></p><p style="text-indent:4.4%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">FTC Solar, Inc. (the “Company”, “we”, “our”, or “us”) was founded in 2017 and is incorporated in the state of Delaware. In April 2021, we completed an initial public offering ("IPO"), and our common stock began trading on the Nasdaq Global Market under the symbol “FTCI”.</span></p><p style="text-indent:4.4%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are a global provider of solar tracker systems, supported by proprietary software and value-added engineering services. Solar tracker systems move solar panels throughout the day to maintain an optimal orientation relative to the sun, thereby increasing the amount of solar energy produced at a solar installation. Our original tracker system is currently marketed under the Voyager brand name (“Voyager”), which is our two-panel in-portrait ("2P") single-axis tracker solution. In September 2022, we announced the introduction of Pioneer, our new one module-in-portrait ("1P") solar tracker solution. We have also launched a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules by project owners and, in August 2023, we introduced SUNOPS, a cloud-based, tracker-agnostic solar asset monitoring solution allowing asset owners and managers to evaluate the operation and performance of their solar deployments. In addition, we have a team of renewable energy professionals available to assist our U.S. and worldwide clients in site layout, structural design, pile testing and other needs across the solar project development and construction cycle. The Company is headquartered in Austin, Texas, and has international subsidiaries in Australia, China, India and South Africa.</span></p><p style="text-indent:4.4%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are an emerging growth company, as defined in the Jumpstart Our Business Startups (JOBS) Act. Under the JOBS Act, we elected to use the allowed extended transition period to delay adopting new or revised accounting standards until such time as those standards apply to private companies.</span></p> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2. Summary of significant accounting policies</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Basis of presentation and principles of consolidation</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying unaudited condensed consolidated financial statements include the results of the Company and its wholly owned subsidiaries and have been prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) for interim financial statements and pursuant to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, all adjustments of a normal recurring nature have been made that are considered necessary for a fair statement of our financial position as of September 30, 2023, and December 31, 2022, our results of operations for the three and nine months ended September 30, 2023 and 2022, and our cash flows for the nine months ended September 30, 2023 and 2022. The condensed consolidated balance sheet as of December 31, 2022 has been derived from the Company’s audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America. Operating results for the three and nine months ended September 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. Intercompany balances and transactions have been eliminated in consolidation.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain information and disclosures normally included in the notes to annual financial statements prepared in accordance with U.S. GAAP have been omitted from these interim financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Therefore, these unaudited condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (our "2022 Annual Report").</span></p></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We currently operate in one business segment, the manufacturing and servicing of solar tracker systems</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Liquidity</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have incurred cumulative losses since inception, resulting in an accumulated deficit of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">288.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of September 30, 2023, and have a history of cash outflows from operations. During the years ended December 31, 2021 and 2022, and the nine months ended September 30, 2023</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we had $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">132.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">54.5</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">46.4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively, of cash outflows from operations. As of September 30, 2023, we had </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">31.5</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of cash on hand, </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">65.4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of working capital, approximately </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">64.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of remaining</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">capacity available for future sales of our common stock under our ATM program as described further in Note 5 below, and approximately </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">98.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of unused borrowing capacity under our existing Senior Secured Revolving Credit Facility (the "Credit Facility") until termination on April 30, 2024. The Credit Facility includes a financial condition covenant stating we are required to have a minimum liquidity, consisting of cash on hand and unused borrowing capacity, of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">125.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of each quarter end. Additionally, as of September 30, 2023, we had a material contractual obligation that could require us to make additional equity investment capital contributions to Alpha Steel, as described further in "Note 3, Equity method investment".</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Uyghur Forced Labor Prevention Act ("UFLPA") was passed by the U.S. Congress and signed into law by President Biden on December 23, 2021. The UFLPA establishes a rebuttable presumption that the importation of any goods, wares, articles, and merchandise mined, produced, or manufactured wholly or in part in the Xinjiang Uyghur Autonomous Region of the People's Republic of China ("Xinjiang"), or that are produced by certain entities, is prohibited by Section 307 of the Tariff Act of 1930 and that such goods, wares, articles, and merchandise are not entitled to entry to the United States. U.S. Customs and Border Protection ("CBP") began implementing the presumption set out in the UFLPA on June 21, 2022, resulting in new rules for solar module importers and reviews by CBP. There continues to be uncertainty in the market around achieving full compliance with the UFLPA for the importation of solar modules, whether related to sufficient traceability of materials or other factors.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On April 1, 2022, the U.S. Department of Commerce, in response to a petition by Auxin Solar, Inc., published a notice initiating an investigation ("the Solar Circumvention Investigation") of claims related to alleged circumvention of U.S. antidumping and countervailing duties ("AD/CVD") by solar manufacturers in certain Southeast Asian countries, in an effort to determine whether or not solar cells and/or modules made in those Southeast Asian nations use parts originating from China in order to circumvent the AD/CVD tariffs. On June 6, 2022, President Biden issued a proclamation allowing U.S. solar deployers the ability to import solar modules and cells from Cambodia, Malaysia, Thailand and Vietnam free from certain duties for 24 months, along with other incentives designed to accelerate U.S. domestic production of clean energy technologies.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since 2016, CBP has issued a number of withhold release orders ("WRO") directed at forced labor in China, including WROs directed specifically at activity in Xinjiang. To date, CBP has used the WROs to detain solar panels, which has disrupted the U.S. solar installation market and caused additional uncertainty on future projects.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">These policies and actions have resulted in some developers deferring projects due to the uncertainty of panel supply and costs, which negatively impacted our 2022 revenue and cash flows and are continuing to negatively impact our revenue and our cash flows to date in 2023.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The most notable incentive program impacting our U.S. business has been the investment tax credit ("ITC") </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for solar energy projects, which allows taxpayers to offset their U.S. federal income tax liability by a certain percentage of their cost basis in solar energy systems placed in service for commercial use. The Inflation Reduction Act of 2022, passed by the U.S. Congress and signed into law by President Biden on August 16, 2022, expanded and extended the tax credits and other tax benefits available to solar energy projects and the solar energy supply chain. ITCs have been extended for such projects through at least 2032 and, depending on the location of a particular project and its ability to satisfy certain labor and domestic content requirements, the ITC percentage can range between </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">30</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">50</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. U.S. manufacturers of specific solar components are now eligible to claim production tax credits as an alternative to the ITC. Implementing regulations for this law are still being finalized.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our costs are affected by the costs of certain components and materials, such as steel, motors and micro-chips, as well as transportation costs. Current market conditions and international conflicts that constrain the supply of materials and disrupt the flow of materials from international vendors impact the cost of our products and services, along with overall rates of inflation in the global economy, which have been higher than pre-COVID 19 pandemic historical rates. Transportation costs, including ocean freight and U.S. domestic haul rates, increased at the beginning of the COVID-19 pandemic but have since returned to pre-pandemic rates. Domestic fuel prices, however, continue to be elevated compared to pre-pandemic rates. Additionally, COVID-19 shutdowns in China during 2022 created a backlog of exports and increased demand for container shipments from China, but such shutdowns have since been eased by the Chinese government. These cost increases and decreases impact our operating margins. We have taken steps to expand and diversify our manufacturing partnerships and have adjusted our modes of transportation to mitigate the impact of headwinds that arise in the global supply chain and logistics markets. As an example, we have modified our ocean freight from previously using charter shipments to now using containerized shipments as costs in the container market began to decrease in 2022. We continue to monitor the logistics markets and will continue to evaluate our use of various modes of transportation when warranted to optimize our transportation costs. Additionally, from February 2022 to September 2023, we utilized a related-party consulting firm to support us in making improvements to our processes and performance in various areas, including design, sourcing, logistics, pricing, software and our distributed generation business. For further information regarding this consulting firm, see "Note 17. Related party transactions".</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In accordance with Accounting Standards Codification ("ASC") 205-40, Going Concern, we have evaluated whether there are conditions and events, considered in the aggregate, which raise substantial doubt about our ability to continue as a going concern within one year after the date these condensed consolidated financial statements are issued. While the UFLPA continues to create uncertainty in the market, we believe that passage of the Inflation Reduction Act of 2022, as described above, has reduced the level of uncertainty among solar project owners and developers with regard to new project development in the United States. We note that implementing regulations for the Inflation Reduction Act are still being finalized, which creates uncertainty about the extent of its impact on our Company and the solar energy industry. We also took significant steps in 2022, and are continuing to take further steps in 2023, to address the recent market challenges and our historical use of cash through the following actions:</span></p><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">certain members of our senior management team elected to forego certain cash compensation during the second half of 2022 in exchange for equity compensation;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the members of our board of directors agreed to take equity compensation in lieu of cash compensation during 2023;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we began making certain incentive compensation payments to all employees in stock rather than cash beginning at the end of the second quarter of 2022;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we reduced our workforce by approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in December of 2022, and another </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in the third quarter of 2023;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we initially froze non-essential hiring in 2022, placed restrictions on certain travel, decreased the future use of consultants and continue to defer non-critical initiatives;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we have initiated frequent, consistent communication with our customers, which in certain cases has allowed us to resolve issues preventing timely collection of certain past due outstanding receivables;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we have emphasized cash collections from customers, and continue to negotiate improved payment terms with both our customers and vendors and have switched vendors when needed to obtain cost savings;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we launched Pioneer, a 1P solar tracker solution, and introduced a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules not subject to UFLPA;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we reached a settlement agreement with FCX Solar, LLC in December 2022, regarding a lawsuit filed against us relating to claims of patent infringement in order to eliminate future time and expense involved in defending ourselves in this action; under the settlement agreement, we were able to utilize our common stock to satisfy a portion of the settlement payment;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we made an investment to acquire a </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">45</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% ownership interest in Alpha Steel, a manufacturing partnership with a leading steel fabricator, which will enhance our domestic supply chain to reduce our exposure to import duties and import restrictions, as described further in "Note </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3, Equity method investment" below;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">in 2023, we began selling newly issued shares of our common stock under our ATM program (as defined and described further in "Note 5, ATM program" below); and</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we continue to actively explore options to obtain additional sources of capital through either the issuance of new debt or equity.</span></div></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A number of the steps above, as well as improvements in the logistics markets and easing of supply chain constraints, contributed to us having positive gross profit in the nine months ended September 30, 2023, which also reduced our use of cash required to fund our operations during the current year-to-date period.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Management believes that our existing cash on hand, as well as the continuing impact of certain of the actions described above and our expectations of improved market conditions and positive results from our efforts to continue to increase gross margins, will allow us to grow profitably and generate positive cash flow from operations during the next twelve months in amounts that will be sufficient, along with our other available resources, to fund our operations for at least one year from the date of issuance of the condensed consolidated financial statements.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">have achieved success in executing certain of the initiatives above and we continue to work to further reduce our use of cash to fund our operations. We have begun and expect to continue seeing the benefits from production of our Pioneer solution in our financial results during 2024 and we believe passage of the Inflation Reduction Act of 2022 and our investment in Alpha Steel will also ultimately benefit demand for our products in the United States. At the same time, however, new rules for module importers and reviews by CBP pursuant to achieving full compliance with the UFLPA are expected to continue creating uncertainty in the market. However, once there is additional clarity around compliance with the UFLPA and customers get line-of-sight to module deliveries, we believe the market will see a recovery. While there are already many underlying drivers of growth in the solar industry, the expected positive impact on demand for</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">our </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">products could take longer than expected to occur. In addition, market conditions could deteriorate significantly from what we currently expect, and regulatory and international trade policies could become more stringent as a result of (i) findings from the Solar Circumvention Investigation, (ii) CBP's enforcement of the UFLPA, and (iii) other factors, which may result in a need for us to issue additional debt or obtain new equity financing, which could result in additional shareholder dilution, to continue to adequately fund our existing operations beyond the next twelve months. We may be unable to obtain any desired additional financing on terms favorable to us, or at all, depending on market and other conditions, which could result in curtailment of our current operations and our ability to further invest in our products and new technology. The ability to raise additional financing depends on numerous factors that are outside of our control, including macroeconomic factors such as the impact of inflation, the ongoing conflict in the Ukraine, market conditions, the health of financial institutions (including the recent bankruptcy of certain regional banks and related impacts that have occurred and continue to occur in the banking industry), investors' and lenders' assessments of our prospects and the prospects of the solar industry in general.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Use of estimates</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported revenue and expenses during the period. Estimates are used for calculating the measure of progress of our solar tracker projects and deriving the standalone selling prices of the individual performance obligations when determining amounts to recognize for revenue, estimating allowances for credit losses and slow-moving and obsolete inventory, determining useful lives of long-lived assets and the estimated fair value of those assets for impairment assessments, and estimating the fair value of investments, stock compensation awards, warranty liabilities and federal and state taxes, including tax valuation allowances, as well as other contingencies. We base our estimates on historical experience and anticipated results, trends, and various other assumptions that we believe are reasonable under the circumstances, including assumptions as to future events. Actual results could differ from those estimates due to risks and uncertainties.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:1pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Concentration of credit risk</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial instruments that potentially subject the Company to concentrations of credit risk are primarily cash and accounts receivable.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We regularly maintain cash balances with various financial institutions that exceed federally insured amounts, but we have experienced no losses associated with these amounts to date. We also took action in early 2023 to reallocate cash balances between different financial institutions based on our assessment as to the financial health of certain institutions.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We extend credit to customers in the normal course of business, often without requiring collateral. We also perform credit analyses and monitor the financial health of our customers to reduce credit risk.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company’s accounts receivables are derived from revenue earned from customers primarily located in the U.S. and Australia. No countries other than the U.S. and Australia accou</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nt for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">or more of our revenue. Most of our customers are project developers, solar asset owners and engineering, procurement and construction (“EPC”) contractors that design and build solar energy projects. </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We typically rely on a small number of customers that account for a large portion of our revenue each period and our outstanding receivables at each period end.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents. Certain of our cash equivalents include deposits in money market funds that invest primarily in short-term securities issued or guaranteed by the U.S. government or its agencies or instrumentalities and contain no restrictions on immediate redemption. The carrying value for money market fund deposits approximates fair value based on quoted prices in active markets for units held (Level 1 classification) and totaled </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18.1</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> at September 30, 2023 and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25.4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> at December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Interest earned on cash equivalents is included in interest income, which is reported net of interest expense in our condensed consolidated statements of comprehensive loss.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable, net</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Trade receivables are recorded at invoiced amounts, net of allowances for credit losses, and do not bear interest. We generally do not require collateral from our customers; however, in certain circumstances, we may require letters of credit, other collateral, additional guarantees or advance payments.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The allowance for credit losses is based on the lifetime expected credit loss of our customer accounts. To assess the lifetime expected credit loss, we utilize a loss rate method that takes into consideration historical experience and certain other factors, as appropriate, such as credit quality and current economic or other conditions that may affect a customer's ability to pay. Provisions for credit losses are included as a component of our selling and marketing costs.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Receivables arising from revenue recognized in excess of billings represents our unconditional right to consideration before customers are invoiced due to the level of progress obtained as of period end on our contracts to procure and deliver tracker systems and related equipment. Further information may be found below in our revenue recognition policy.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories, net</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories are stated at the lower of cost or net realizable value, with costs computed on a first-in, first-out basis. The Company periodically reviews its inventories for excess and obsolete items and adjusts carrying costs to estimated net realizable values when they are determined to be less than cost.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Impairment</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We review our long-lived assets that are held for use for impairment whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable or that its useful life may be shorter than previously expected. If such impairment indicators are present or other factors exist that indicate the carrying amount of the asset may not be recoverable, we determine whether an impairment has occurred through the use of an undiscounted cash flow analysis of the asset at the lowest level for which identifiable cash flows exist. If an impairment has occurred, we recognize a loss for the difference between the carrying amount and the fair value of the asset, which in most cases is estimated based upon Level 3 unobservable inputs. If the asset is determined to have a remaining useful life shorter than previously expected an adjustment for the shorter remaining life will be made for purposes of recognizing future depreciation expense. Assets are classified as held for sale when we have a plan, approved by the appropriate levels of management, for disposal of such assets, as well as other considerations, and those assets are stated at the lower of carrying value or estimated fair value less estimated costs to sell.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consist of developed technology in the form of software tools, licenses and intellectual property, which are amortized over the period of their estimated useful lives, generally </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.5</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.0</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years, using the straight-line method. We evaluate our intangible assets for impairment whenever events or changes in circumstances indicate the carrying amount of our intangible assets may not be recoverable or that their useful lives may be shorter than previously expected.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We recognize goodwill as the excess of the purchase price over the estimated fair value of the identified assets and liabilities acquired in a business combination accounted for using the acquisition method. Goodwill is not amortized but is subject to a periodic assessment for impairment at least annually, or whenever events and circumstances indicate an impairment may exist.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Equity method investment</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We use the equity method of accounting for investments in which we have the ability to exercise significant influence, but not control, over operating and financial policies of the investee. Our proportionate share of the net income or loss of these investees is included in our condensed consolidated statements of comprehensive loss. Judgment regarding the level of influence over each equity method investment includes considering key factors such as our ownership interest, legal form of the investee, representation on the board of directors or managers, participation in policy-making decisions and material intra-entity transactions. We account for distributions received from equity method investees under the "nature of the distribution" approach based on the nature of the activity or activities of the investee that generated the distribution as either a return on investment (classified as cash inflows from operating activities) or a return of investment (classified as cash inflows from investing activities).</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We evaluate equity method investments for impairment whenever events or changes in circumstances indicate that the carrying amount of the investment might not be recoverable.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Warranty</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Typically, the sale of solar tracker projects includes parts warranties to customers as part of the overall price of the product. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We provide standard assurance type warranties for our products for periods generally ranging from </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_fc03b17f-bc33-45af-b0e2-01473b7b82b7;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">two</span></span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ten years</span></span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We record a provision for estimated warranty expenses in cost of sales, net of amounts recoverable from manufacturers under their warranty obligations to us. We do not maintain general or unspecified reserves; all warranty reserves are related to specific projects. All actual or estimated material costs incurred for warranty services in subsequent periods are charged to those established reserves.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">While we periodically monitor our warranty activities and claims, if actual costs incurred were to be different from our estimates, we would recognize adjustments to our warranty reserves in the period in which those differences arise or are identified.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock-based compensation</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We recognize compensation expense for all share-based payment awards made, including stock options and RSUs, based on the estimated fair value of the award on the grant date. We calculate the fair value of stock options using the Black-Scholes option pricing model for awards with service-based vesting or through use of a lattice model or a Monte Carlo simulation for awards with market conditions. The fair value of RSUs is based on the estimated fair value of the Company's common stock on the date of grant. We consider the closing price of our stock, as reported on the Nasdaq Global Market, to be the fair value of our stock on the grant date.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Forfeitures are accounted for as they occur. For service-based awards, stock-based compensation is recognized using the straight-line attribution approach over the requisite service period. For performance-based awards, stock-based compensation is recognized based on graded vesting over the requisite service period when the performance condition is probable of being achieved. Stock compensation expense for market-based awards is recognized over the derived service period determined in the valuation model, inclusive of any vesting conditions.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue recognition</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Product revenue is derived from the sale of solar tracker systems and customized components for those systems, individual part sales for certain specific transactions and the sale of term-based software licenses. Term-based licensed software is deployed on the customers’ own servers and has significant standalone functionality.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Service revenue includes revenue from shipping and handling services, engineering consulting and pile testing services, our subscription-based enterprise licensing model and maintenance and support services in connection with the term-based software licenses.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Our subscription-based enterprise licensing model typically has contract terms ranging from </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_177144e5-be7d-4e2d-b6d7-3c5172d48ba8;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">one</span></span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">two years</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and consists of subscription fees from the licensing of subscription services. Our hosted on-demand service arrangements do not provide customers with the right to take possession of the software supporting the hosted services. Support services include ongoing security updates, upgrades, bug fixes, and maintenance.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration to which we expect to be entitled to in exchange for those goods or services by following a five-step process: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when or as the Company satisfies a performance obligation, as further described below.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Identify the contract with a customer:</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> A contract with a customer exists when (i) the Company enters into an enforceable contract with a customer that defines each party’s rights regarding the products and services to be transferred and identifies the payment terms related to these products and services, (ii) the contract has commercial substance, and (iii) the Company determines that collection of substantially all consideration for products and services that are transferred is probable based on the customer’s intent and ability to pay the promised consideration. In assessing the recognition of revenue, we also evaluate whether two or more contracts should be combined and accounted for as one contract and if the combined or single contract should be accounted for as multiple performance obligations which could change the amount of revenue and profit (loss) recorded in a period. Change orders may include changes in specifications or design, manner of performance, equipment, materials, scope of work, and/or the period of completion of the project. We analyze change orders to determine if they should be accounted for as a modification to an existing contract or a new stand-alone contract.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contracts we enter into with our customers for sale of solar tracker systems are generally under two different types of arrangements: (1) purchase agreements and equipment supply contracts (“Purchase Agreements”), and (2) sale of individual parts for those systems.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Change orders from our customers are generally modifications to existing contracts and are included in the total estimated contract revenue when it is probable that the change order will result in additional value that can be reliably estimated and realized.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Identify the performance obligations in the contract: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We enter into contracts that can include various combinations of products and services, which are either capable of being distinct and accounted for as separate performance obligations or as one performance obligation since the majority of tasks and services are part of a single project or capability. However, determining whether products or services are considered distinct performance obligations that should be accounted for separately versus together may sometimes require significant judgment.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our Purchase Agreements typically include two performance obligations: 1) our solar tracker systems or customized components of those systems, and 2) shipping and handling services. The deliverables included as part of our solar tracker systems are predominantly accounted for as one performance obligation, as these deliverables are part of a combined promise to deliver a project.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The revenue for shipping and handling services will be recognized over time based on progress in meeting shipping terms of the arrangements, as this faithfully depicts the Company’s performance in transferring control. Revenue for stand-alone engineering consulting and pile testing services is recognized at a point in time upon completion of the services performed.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Sales of individual parts of our solar tracker systems for certain specific transactions include multiple performance obligations consisting of individual parts of those systems. Revenue is recognized for parts sales at a point in time when the obligations under the terms of the contract with our customer are satisfied. Generally, this occurs with the transfer of control of the asset, which is in line with shipping terms.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Determine the transaction price: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price is determined based on the consideration to which we will be entitled in exchange for transferring services to the customer. Such amounts are typically stated in the customer contract, and to the extent that we identify variable consideration, we will estimate the variable consideration at the onset of the arrangement as long as it is probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. The majority of our contracts do not contain variable consideration provisions as a continuation of the original contract. None of our contracts contain a significant financing component. Taxes collected from customers and remitted to governmental authorities are not included in revenue</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allocate the transaction price to performance obligations in the contract: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Once we have determined the transaction price, we allocate the total transaction price to each performance obligation in a manner depicting the amount of consideration to which we expect to be entitled in exchange for transferring the good(s) or service(s) to the customer. We allocate the transaction price to each performance obligation identified in the contract on a relative standalone selling price basis.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We use the expected cost-plus margin approach based on hardware, labor, and related overhead cost to estimate the standalone selling price of our solar tracker systems, customized components of those systems, and individual parts for certain specific transactions. We also use the expected cost-plus margin approach based on expected third-party shipping and transportation costs to estimate the standalone selling price of our shipping, handling and logistics performance obligations. We use the adjusted market assessment approach for all other performance obligations.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recognize revenue when or as the Company satisfies a performance obligation: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For each performance obligation identified, we determine at contract inception whether we satisfy the performance obligation over time or at a point in time. The performance obligations in the contracts for our solar tracker systems and customized components of those systems are satisfied over time as work progresses, utilizing an input measure of progress determined by cost-to-cost measures on these projects as this faithfully depicts our performance in transferring control. Additionally, our performance does not create an asset with an alternative use, due to the highly customized nature of the product, and we have an enforceable right to payment for performance completed to date. Our performance obligations for individual part sales for certain specific transactions are recognized at a point in time as and when control transfers based on the Incoterms for the contract. Our performance obligations for engineering consulting and pile testing services are recognized at a point in time upon completion of the services. Our performance obligations for term-based software licenses are recognized at a point in time as and when control transfers, either upon delivery to the customer or the software license start date, whichever is later. Our performance obligations for shipping and handling services are satisfied over time as the services are delivered over the term of the contract. We recognize revenue for subscription</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and other services on a straight-line basis over the contract period. With regard to support revenue, a time-elapsed method is used to measure progress because we transfer control evenly over the contractual period. Accordingly, the fixed consideration related to support revenue is generally recognized on a straight-line basis over the contract term.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contract assets and liabilities: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The timing of revenue recognition, billing, and cash collection results in the recognition of accounts receivable, unbilled receivables for revenue recognized in excess of billings, and deferred revenue in the condensed consolidated balance sheets. We may receive advances or deposits from our customers before revenue is recognized, resulting in contract liabilities, which are reflected as “deferred revenue” in our condensed consolidated balance sheets. Revenue recognized during the three and nine months ended September 30, 2023 from amounts included in deferred revenue at December 31, 2022 totaled </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.6</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenue consists primarily of costs related to raw materials, equipment manufacturing activities, freight and delivery, product warranty, remediation and personnel costs (salaries, bonuses, benefits, and stock-based compensation). Personnel costs in cost of revenue include both direct labor costs, as well as costs attributable to any individuals whose activities relate to the procurement, installment and delivery of the finished product and services.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Cost of revenue owed but not yet paid is recorded as accrued cost of revenue in the accompanying condensed consolidated financial statements. Deferred cost of revenue results from the timing differences between the costs incurred in advance of the satisfaction of all revenue recognition criteria consistent with our revenue recognition policy.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Recent accounting pronouncements adopted</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We adopted ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), as amended, effective January 1, 2023. ASU 2016-13 changed the impairment model for most financial assets and requires the use of an expected loss model in place of the previously used incurred loss method. Under this model, we now estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. We did not have a material impact on our condensed consolidated financial statements upon adoption of ASU 2016-13.</span></p></div> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Basis of presentation and principles of consolidation</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying unaudited condensed consolidated financial statements include the results of the Company and its wholly owned subsidiaries and have been prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) for interim financial statements and pursuant to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, all adjustments of a normal recurring nature have been made that are considered necessary for a fair statement of our financial position as of September 30, 2023, and December 31, 2022, our results of operations for the three and nine months ended September 30, 2023 and 2022, and our cash flows for the nine months ended September 30, 2023 and 2022. The condensed consolidated balance sheet as of December 31, 2022 has been derived from the Company’s audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America. Operating results for the three and nine months ended September 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. Intercompany balances and transactions have been eliminated in consolidation.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Certain information and disclosures normally included in the notes to annual financial statements prepared in accordance with U.S. GAAP have been omitted from these interim financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Therefore, these unaudited condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (our "2022 Annual Report").</span></p><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We currently operate in one business segment, the manufacturing and servicing of solar tracker systems</span> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Liquidity</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have incurred cumulative losses since inception, resulting in an accumulated deficit of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">288.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of September 30, 2023, and have a history of cash outflows from operations. During the years ended December 31, 2021 and 2022, and the nine months ended September 30, 2023</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we had $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">132.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">54.5</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">46.4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively, of cash outflows from operations. As of September 30, 2023, we had </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">31.5</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of cash on hand, </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">65.4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of working capital, approximately </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">64.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of remaining</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">capacity available for future sales of our common stock under our ATM program as described further in Note 5 below, and approximately </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">98.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of unused borrowing capacity under our existing Senior Secured Revolving Credit Facility (the "Credit Facility") until termination on April 30, 2024. The Credit Facility includes a financial condition covenant stating we are required to have a minimum liquidity, consisting of cash on hand and unused borrowing capacity, of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">125.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of each quarter end. Additionally, as of September 30, 2023, we had a material contractual obligation that could require us to make additional equity investment capital contributions to Alpha Steel, as described further in "Note 3, Equity method investment".</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Uyghur Forced Labor Prevention Act ("UFLPA") was passed by the U.S. Congress and signed into law by President Biden on December 23, 2021. The UFLPA establishes a rebuttable presumption that the importation of any goods, wares, articles, and merchandise mined, produced, or manufactured wholly or in part in the Xinjiang Uyghur Autonomous Region of the People's Republic of China ("Xinjiang"), or that are produced by certain entities, is prohibited by Section 307 of the Tariff Act of 1930 and that such goods, wares, articles, and merchandise are not entitled to entry to the United States. U.S. Customs and Border Protection ("CBP") began implementing the presumption set out in the UFLPA on June 21, 2022, resulting in new rules for solar module importers and reviews by CBP. There continues to be uncertainty in the market around achieving full compliance with the UFLPA for the importation of solar modules, whether related to sufficient traceability of materials or other factors.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On April 1, 2022, the U.S. Department of Commerce, in response to a petition by Auxin Solar, Inc., published a notice initiating an investigation ("the Solar Circumvention Investigation") of claims related to alleged circumvention of U.S. antidumping and countervailing duties ("AD/CVD") by solar manufacturers in certain Southeast Asian countries, in an effort to determine whether or not solar cells and/or modules made in those Southeast Asian nations use parts originating from China in order to circumvent the AD/CVD tariffs. On June 6, 2022, President Biden issued a proclamation allowing U.S. solar deployers the ability to import solar modules and cells from Cambodia, Malaysia, Thailand and Vietnam free from certain duties for 24 months, along with other incentives designed to accelerate U.S. domestic production of clean energy technologies.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Since 2016, CBP has issued a number of withhold release orders ("WRO") directed at forced labor in China, including WROs directed specifically at activity in Xinjiang. To date, CBP has used the WROs to detain solar panels, which has disrupted the U.S. solar installation market and caused additional uncertainty on future projects.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">These policies and actions have resulted in some developers deferring projects due to the uncertainty of panel supply and costs, which negatively impacted our 2022 revenue and cash flows and are continuing to negatively impact our revenue and our cash flows to date in 2023.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The most notable incentive program impacting our U.S. business has been the investment tax credit ("ITC") </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">for solar energy projects, which allows taxpayers to offset their U.S. federal income tax liability by a certain percentage of their cost basis in solar energy systems placed in service for commercial use. The Inflation Reduction Act of 2022, passed by the U.S. Congress and signed into law by President Biden on August 16, 2022, expanded and extended the tax credits and other tax benefits available to solar energy projects and the solar energy supply chain. ITCs have been extended for such projects through at least 2032 and, depending on the location of a particular project and its ability to satisfy certain labor and domestic content requirements, the ITC percentage can range between </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">30</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">50</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%. U.S. manufacturers of specific solar components are now eligible to claim production tax credits as an alternative to the ITC. Implementing regulations for this law are still being finalized.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our costs are affected by the costs of certain components and materials, such as steel, motors and micro-chips, as well as transportation costs. Current market conditions and international conflicts that constrain the supply of materials and disrupt the flow of materials from international vendors impact the cost of our products and services, along with overall rates of inflation in the global economy, which have been higher than pre-COVID 19 pandemic historical rates. Transportation costs, including ocean freight and U.S. domestic haul rates, increased at the beginning of the COVID-19 pandemic but have since returned to pre-pandemic rates. Domestic fuel prices, however, continue to be elevated compared to pre-pandemic rates. Additionally, COVID-19 shutdowns in China during 2022 created a backlog of exports and increased demand for container shipments from China, but such shutdowns have since been eased by the Chinese government. These cost increases and decreases impact our operating margins. We have taken steps to expand and diversify our manufacturing partnerships and have adjusted our modes of transportation to mitigate the impact of headwinds that arise in the global supply chain and logistics markets. As an example, we have modified our ocean freight from previously using charter shipments to now using containerized shipments as costs in the container market began to decrease in 2022. We continue to monitor the logistics markets and will continue to evaluate our use of various modes of transportation when warranted to optimize our transportation costs. Additionally, from February 2022 to September 2023, we utilized a related-party consulting firm to support us in making improvements to our processes and performance in various areas, including design, sourcing, logistics, pricing, software and our distributed generation business. For further information regarding this consulting firm, see "Note 17. Related party transactions".</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In accordance with Accounting Standards Codification ("ASC") 205-40, Going Concern, we have evaluated whether there are conditions and events, considered in the aggregate, which raise substantial doubt about our ability to continue as a going concern within one year after the date these condensed consolidated financial statements are issued. While the UFLPA continues to create uncertainty in the market, we believe that passage of the Inflation Reduction Act of 2022, as described above, has reduced the level of uncertainty among solar project owners and developers with regard to new project development in the United States. We note that implementing regulations for the Inflation Reduction Act are still being finalized, which creates uncertainty about the extent of its impact on our Company and the solar energy industry. We also took significant steps in 2022, and are continuing to take further steps in 2023, to address the recent market challenges and our historical use of cash through the following actions:</span></p><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">certain members of our senior management team elected to forego certain cash compensation during the second half of 2022 in exchange for equity compensation;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the members of our board of directors agreed to take equity compensation in lieu of cash compensation during 2023;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we began making certain incentive compensation payments to all employees in stock rather than cash beginning at the end of the second quarter of 2022;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we reduced our workforce by approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% in December of 2022, and another </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in the third quarter of 2023;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we initially froze non-essential hiring in 2022, placed restrictions on certain travel, decreased the future use of consultants and continue to defer non-critical initiatives;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we have initiated frequent, consistent communication with our customers, which in certain cases has allowed us to resolve issues preventing timely collection of certain past due outstanding receivables;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we have emphasized cash collections from customers, and continue to negotiate improved payment terms with both our customers and vendors and have switched vendors when needed to obtain cost savings;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we launched Pioneer, a 1P solar tracker solution, and introduced a new mounting solution to support the installation and use of U.S.-manufactured thin-film modules not subject to UFLPA;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we reached a settlement agreement with FCX Solar, LLC in December 2022, regarding a lawsuit filed against us relating to claims of patent infringement in order to eliminate future time and expense involved in defending ourselves in this action; under the settlement agreement, we were able to utilize our common stock to satisfy a portion of the settlement payment;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we made an investment to acquire a </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">45</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% ownership interest in Alpha Steel, a manufacturing partnership with a leading steel fabricator, which will enhance our domestic supply chain to reduce our exposure to import duties and import restrictions, as described further in "Note </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3, Equity method investment" below;</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">in 2023, we began selling newly issued shares of our common stock under our ATM program (as defined and described further in "Note 5, ATM program" below); and</span></div></div><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">•</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">we continue to actively explore options to obtain additional sources of capital through either the issuance of new debt or equity.</span></div></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A number of the steps above, as well as improvements in the logistics markets and easing of supply chain constraints, contributed to us having positive gross profit in the nine months ended September 30, 2023, which also reduced our use of cash required to fund our operations during the current year-to-date period.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Management believes that our existing cash on hand, as well as the continuing impact of certain of the actions described above and our expectations of improved market conditions and positive results from our efforts to continue to increase gross margins, will allow us to grow profitably and generate positive cash flow from operations during the next twelve months in amounts that will be sufficient, along with our other available resources, to fund our operations for at least one year from the date of issuance of the condensed consolidated financial statements.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">have achieved success in executing certain of the initiatives above and we continue to work to further reduce our use of cash to fund our operations. We have begun and expect to continue seeing the benefits from production of our Pioneer solution in our financial results during 2024 and we believe passage of the Inflation Reduction Act of 2022 and our investment in Alpha Steel will also ultimately benefit demand for our products in the United States. At the same time, however, new rules for module importers and reviews by CBP pursuant to achieving full compliance with the UFLPA are expected to continue creating uncertainty in the market. However, once there is additional clarity around compliance with the UFLPA and customers get line-of-sight to module deliveries, we believe the market will see a recovery. While there are already many underlying drivers of growth in the solar industry, the expected positive impact on demand for</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">our </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">products could take longer than expected to occur. In addition, market conditions could deteriorate significantly from what we currently expect, and regulatory and international trade policies could become more stringent as a result of (i) findings from the Solar Circumvention Investigation, (ii) CBP's enforcement of the UFLPA, and (iii) other factors, which may result in a need for us to issue additional debt or obtain new equity financing, which could result in additional shareholder dilution, to continue to adequately fund our existing operations beyond the next twelve months. We may be unable to obtain any desired additional financing on terms favorable to us, or at all, depending on market and other conditions, which could result in curtailment of our current operations and our ability to further invest in our products and new technology. The ability to raise additional financing depends on numerous factors that are outside of our control, including macroeconomic factors such as the impact of inflation, the ongoing conflict in the Ukraine, market conditions, the health of financial institutions (including the recent bankruptcy of certain regional banks and related impacts that have occurred and continue to occur in the banking industry), investors' and lenders' assessments of our prospects and the prospects of the solar industry in general.</span></p> -288000000 132900000 54500000 -46400000 31500000 65400000 64900000 98000000 125000000 0.30 0.50 0.08 0.09 0.45 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Use of estimates</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported revenue and expenses during the period. Estimates are used for calculating the measure of progress of our solar tracker projects and deriving the standalone selling prices of the individual performance obligations when determining amounts to recognize for revenue, estimating allowances for credit losses and slow-moving and obsolete inventory, determining useful lives of long-lived assets and the estimated fair value of those assets for impairment assessments, and estimating the fair value of investments, stock compensation awards, warranty liabilities and federal and state taxes, including tax valuation allowances, as well as other contingencies. We base our estimates on historical experience and anticipated results, trends, and various other assumptions that we believe are reasonable under the circumstances, including assumptions as to future events. Actual results could differ from those estimates due to risks and uncertainties.</span></p> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:1pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Concentration of credit risk</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financial instruments that potentially subject the Company to concentrations of credit risk are primarily cash and accounts receivable.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We regularly maintain cash balances with various financial institutions that exceed federally insured amounts, but we have experienced no losses associated with these amounts to date. We also took action in early 2023 to reallocate cash balances between different financial institutions based on our assessment as to the financial health of certain institutions.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We extend credit to customers in the normal course of business, often without requiring collateral. We also perform credit analyses and monitor the financial health of our customers to reduce credit risk.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company’s accounts receivables are derived from revenue earned from customers primarily located in the U.S. and Australia. No countries other than the U.S. and Australia accou</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nt for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">or more of our revenue. Most of our customers are project developers, solar asset owners and engineering, procurement and construction (“EPC”) contractors that design and build solar energy projects. </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We typically rely on a small number of customers that account for a large portion of our revenue each period and our outstanding receivables at each period end.</span></p> 0.10 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cash and cash equivalents</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents. Certain of our cash equivalents include deposits in money market funds that invest primarily in short-term securities issued or guaranteed by the U.S. government or its agencies or instrumentalities and contain no restrictions on immediate redemption. The carrying value for money market fund deposits approximates fair value based on quoted prices in active markets for units held (Level 1 classification) and totaled </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18.1</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> at September 30, 2023 and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25.4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> at December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Interest earned on cash equivalents is included in interest income, which is reported net of interest expense in our condensed consolidated statements of comprehensive loss.</span></p> 18100000 25400000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable, net</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Trade receivables are recorded at invoiced amounts, net of allowances for credit losses, and do not bear interest. We generally do not require collateral from our customers; however, in certain circumstances, we may require letters of credit, other collateral, additional guarantees or advance payments.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The allowance for credit losses is based on the lifetime expected credit loss of our customer accounts. To assess the lifetime expected credit loss, we utilize a loss rate method that takes into consideration historical experience and certain other factors, as appropriate, such as credit quality and current economic or other conditions that may affect a customer's ability to pay. Provisions for credit losses are included as a component of our selling and marketing costs.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Receivables arising from revenue recognized in excess of billings represents our unconditional right to consideration before customers are invoiced due to the level of progress obtained as of period end on our contracts to procure and deliver tracker systems and related equipment. Further information may be found below in our revenue recognition policy.</span></p> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories, net</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories are stated at the lower of cost or net realizable value, with costs computed on a first-in, first-out basis. The Company periodically reviews its inventories for excess and obsolete items and adjusts carrying costs to estimated net realizable values when they are determined to be less than cost.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Impairment</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We review our long-lived assets that are held for use for impairment whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable or that its useful life may be shorter than previously expected. If such impairment indicators are present or other factors exist that indicate the carrying amount of the asset may not be recoverable, we determine whether an impairment has occurred through the use of an undiscounted cash flow analysis of the asset at the lowest level for which identifiable cash flows exist. If an impairment has occurred, we recognize a loss for the difference between the carrying amount and the fair value of the asset, which in most cases is estimated based upon Level 3 unobservable inputs. If the asset is determined to have a remaining useful life shorter than previously expected an adjustment for the shorter remaining life will be made for purposes of recognizing future depreciation expense. Assets are classified as held for sale when we have a plan, approved by the appropriate levels of management, for disposal of such assets, as well as other considerations, and those assets are stated at the lower of carrying value or estimated fair value less estimated costs to sell.</span></p> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consist of developed technology in the form of software tools, licenses and intellectual property, which are amortized over the period of their estimated useful lives, generally </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.5</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.0</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years, using the straight-line method. We evaluate our intangible assets for impairment whenever events or changes in circumstances indicate the carrying amount of our intangible assets may not be recoverable or that their useful lives may be shorter than previously expected.</span></p> P2Y6M P3Y <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We recognize goodwill as the excess of the purchase price over the estimated fair value of the identified assets and liabilities acquired in a business combination accounted for using the acquisition method. Goodwill is not amortized but is subject to a periodic assessment for impairment at least annually, or whenever events and circumstances indicate an impairment may exist.</span></p> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Equity method investment</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We use the equity method of accounting for investments in which we have the ability to exercise significant influence, but not control, over operating and financial policies of the investee. Our proportionate share of the net income or loss of these investees is included in our condensed consolidated statements of comprehensive loss. Judgment regarding the level of influence over each equity method investment includes considering key factors such as our ownership interest, legal form of the investee, representation on the board of directors or managers, participation in policy-making decisions and material intra-entity transactions. We account for distributions received from equity method investees under the "nature of the distribution" approach based on the nature of the activity or activities of the investee that generated the distribution as either a return on investment (classified as cash inflows from operating activities) or a return of investment (classified as cash inflows from investing activities).</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We evaluate equity method investments for impairment whenever events or changes in circumstances indicate that the carrying amount of the investment might not be recoverable.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Warranty</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Typically, the sale of solar tracker projects includes parts warranties to customers as part of the overall price of the product. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We provide standard assurance type warranties for our products for periods generally ranging from </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_fc03b17f-bc33-45af-b0e2-01473b7b82b7;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">two</span></span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ten years</span></span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. We record a provision for estimated warranty expenses in cost of sales, net of amounts recoverable from manufacturers under their warranty obligations to us. We do not maintain general or unspecified reserves; all warranty reserves are related to specific projects. All actual or estimated material costs incurred for warranty services in subsequent periods are charged to those established reserves.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">While we periodically monitor our warranty activities and claims, if actual costs incurred were to be different from our estimates, we would recognize adjustments to our warranty reserves in the period in which those differences arise or are identified.</span></p> We provide standard assurance type warranties for our products for periods generally ranging from two to ten years P10Y <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock-based compensation</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We recognize compensation expense for all share-based payment awards made, including stock options and RSUs, based on the estimated fair value of the award on the grant date. We calculate the fair value of stock options using the Black-Scholes option pricing model for awards with service-based vesting or through use of a lattice model or a Monte Carlo simulation for awards with market conditions. The fair value of RSUs is based on the estimated fair value of the Company's common stock on the date of grant. We consider the closing price of our stock, as reported on the Nasdaq Global Market, to be the fair value of our stock on the grant date.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Forfeitures are accounted for as they occur. For service-based awards, stock-based compensation is recognized using the straight-line attribution approach over the requisite service period. For performance-based awards, stock-based compensation is recognized based on graded vesting over the requisite service period when the performance condition is probable of being achieved. Stock compensation expense for market-based awards is recognized over the derived service period determined in the valuation model, inclusive of any vesting conditions.</span></p> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue recognition</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Product revenue is derived from the sale of solar tracker systems and customized components for those systems, individual part sales for certain specific transactions and the sale of term-based software licenses. Term-based licensed software is deployed on the customers’ own servers and has significant standalone functionality.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Service revenue includes revenue from shipping and handling services, engineering consulting and pile testing services, our subscription-based enterprise licensing model and maintenance and support services in connection with the term-based software licenses.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Our subscription-based enterprise licensing model typically has contract terms ranging from </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_177144e5-be7d-4e2d-b6d7-3c5172d48ba8;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">one</span></span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">two years</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and consists of subscription fees from the licensing of subscription services. Our hosted on-demand service arrangements do not provide customers with the right to take possession of the software supporting the hosted services. Support services include ongoing security updates, upgrades, bug fixes, and maintenance.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We recognize revenue when promised goods or services are transferred to customers in an amount that reflects the consideration to which we expect to be entitled to in exchange for those goods or services by following a five-step process: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when or as the Company satisfies a performance obligation, as further described below.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Identify the contract with a customer:</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> A contract with a customer exists when (i) the Company enters into an enforceable contract with a customer that defines each party’s rights regarding the products and services to be transferred and identifies the payment terms related to these products and services, (ii) the contract has commercial substance, and (iii) the Company determines that collection of substantially all consideration for products and services that are transferred is probable based on the customer’s intent and ability to pay the promised consideration. In assessing the recognition of revenue, we also evaluate whether two or more contracts should be combined and accounted for as one contract and if the combined or single contract should be accounted for as multiple performance obligations which could change the amount of revenue and profit (loss) recorded in a period. Change orders may include changes in specifications or design, manner of performance, equipment, materials, scope of work, and/or the period of completion of the project. We analyze change orders to determine if they should be accounted for as a modification to an existing contract or a new stand-alone contract.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Contracts we enter into with our customers for sale of solar tracker systems are generally under two different types of arrangements: (1) purchase agreements and equipment supply contracts (“Purchase Agreements”), and (2) sale of individual parts for those systems.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Change orders from our customers are generally modifications to existing contracts and are included in the total estimated contract revenue when it is probable that the change order will result in additional value that can be reliably estimated and realized.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Identify the performance obligations in the contract: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We enter into contracts that can include various combinations of products and services, which are either capable of being distinct and accounted for as separate performance obligations or as one performance obligation since the majority of tasks and services are part of a single project or capability. However, determining whether products or services are considered distinct performance obligations that should be accounted for separately versus together may sometimes require significant judgment.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our Purchase Agreements typically include two performance obligations: 1) our solar tracker systems or customized components of those systems, and 2) shipping and handling services. The deliverables included as part of our solar tracker systems are predominantly accounted for as one performance obligation, as these deliverables are part of a combined promise to deliver a project.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The revenue for shipping and handling services will be recognized over time based on progress in meeting shipping terms of the arrangements, as this faithfully depicts the Company’s performance in transferring control. Revenue for stand-alone engineering consulting and pile testing services is recognized at a point in time upon completion of the services performed.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Sales of individual parts of our solar tracker systems for certain specific transactions include multiple performance obligations consisting of individual parts of those systems. Revenue is recognized for parts sales at a point in time when the obligations under the terms of the contract with our customer are satisfied. Generally, this occurs with the transfer of control of the asset, which is in line with shipping terms.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Determine the transaction price: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The transaction price is determined based on the consideration to which we will be entitled in exchange for transferring services to the customer. Such amounts are typically stated in the customer contract, and to the extent that we identify variable consideration, we will estimate the variable consideration at the onset of the arrangement as long as it is probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. The majority of our contracts do not contain variable consideration provisions as a continuation of the original contract. None of our contracts contain a significant financing component. Taxes collected from customers and remitted to governmental authorities are not included in revenue</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Allocate the transaction price to performance obligations in the contract: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Once we have determined the transaction price, we allocate the total transaction price to each performance obligation in a manner depicting the amount of consideration to which we expect to be entitled in exchange for transferring the good(s) or service(s) to the customer. We allocate the transaction price to each performance obligation identified in the contract on a relative standalone selling price basis.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We use the expected cost-plus margin approach based on hardware, labor, and related overhead cost to estimate the standalone selling price of our solar tracker systems, customized components of those systems, and individual parts for certain specific transactions. We also use the expected cost-plus margin approach based on expected third-party shipping and transportation costs to estimate the standalone selling price of our shipping, handling and logistics performance obligations. We use the adjusted market assessment approach for all other performance obligations.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recognize revenue when or as the Company satisfies a performance obligation: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For each performance obligation identified, we determine at contract inception whether we satisfy the performance obligation over time or at a point in time. The performance obligations in the contracts for our solar tracker systems and customized components of those systems are satisfied over time as work progresses, utilizing an input measure of progress determined by cost-to-cost measures on these projects as this faithfully depicts our performance in transferring control. Additionally, our performance does not create an asset with an alternative use, due to the highly customized nature of the product, and we have an enforceable right to payment for performance completed to date. Our performance obligations for individual part sales for certain specific transactions are recognized at a point in time as and when control transfers based on the Incoterms for the contract. Our performance obligations for engineering consulting and pile testing services are recognized at a point in time upon completion of the services. Our performance obligations for term-based software licenses are recognized at a point in time as and when control transfers, either upon delivery to the customer or the software license start date, whichever is later. Our performance obligations for shipping and handling services are satisfied over time as the services are delivered over the term of the contract. We recognize revenue for subscription</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and other services on a straight-line basis over the contract period. With regard to support revenue, a time-elapsed method is used to measure progress because we transfer control evenly over the contractual period. Accordingly, the fixed consideration related to support revenue is generally recognized on a straight-line basis over the contract term.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contract assets and liabilities: </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The timing of revenue recognition, billing, and cash collection results in the recognition of accounts receivable, unbilled receivables for revenue recognized in excess of billings, and deferred revenue in the condensed consolidated balance sheets. We may receive advances or deposits from our customers before revenue is recognized, resulting in contract liabilities, which are reflected as “deferred revenue” in our condensed consolidated balance sheets. Revenue recognized during the three and nine months ended September 30, 2023 from amounts included in deferred revenue at December 31, 2022 totaled </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.6</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenue consists primarily of costs related to raw materials, equipment manufacturing activities, freight and delivery, product warranty, remediation and personnel costs (salaries, bonuses, benefits, and stock-based compensation). Personnel costs in cost of revenue include both direct labor costs, as well as costs attributable to any individuals whose activities relate to the procurement, installment and delivery of the finished product and services.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Cost of revenue owed but not yet paid is recorded as accrued cost of revenue in the accompanying condensed consolidated financial statements. Deferred cost of revenue results from the timing differences between the costs incurred in advance of the satisfaction of all revenue recognition criteria consistent with our revenue recognition policy.</span></p> P2Y 1600000 10900000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Recent accounting pronouncements adopted</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We adopted ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), as amended, effective January 1, 2023. ASU 2016-13 changed the impairment model for most financial assets and requires the use of an expected loss model in place of the previously used incurred loss method. Under this model, we now estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. We did not have a material impact on our condensed consolidated financial statements upon adoption of ASU 2016-13.</span></p> <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3. </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Equity method investment</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On February 9, 2023, we entered into a limited liability company agreement (the "LLC Agreement") with Taihua New Energy (Thailand) Co., LTD ("Taihua"), a leading steel fabricator and an existing vendor, and DAYV LLC, for the creation of Alpha Steel LLC ("Alpha Steel"), a Delaware limited liability company dedicated to producing steel components, including torque tubes, for utility-scale solar projects. The Alpha Steel facility, which is located outside of Houston in Sealy, Texas, is expected to begin commercial production in the fourth quarter of 2023.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We entered into amendment no. 1 to the Alpha Steel LLC Agreement with Taihua and DAYV LLC on July 28, 2023, to allow for members at their option, and with the approval of the Board of Managers, to make payments in respect of Alpha Steel’s contractual obligations in the event that Alpha Steel does not or is not able to make such payments from its own resources (“Credit Support Payments”). Any such Credit Support Payments will be treated as capital contributions by the members to Alpha Steel, with any member funding more than its ratable share of Credit Support Payments being deemed to have loaned such excess to each underfunding member at the U.S. prime rate plus </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Alpha Steel is intended to enhance our domestic supply chain, our ability to support our customers and the growth of the U.S. solar market, with domestic manufacturing utilizing U.S. steel. We have a </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">45</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% interest in Alpha Steel, which is accounted for under the equity method of accounting. Taihua has a </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">51</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% interest in Alpha Steel and DAYV LLC, an entity owned by members of the Board of Managers of Alpha Steel and a related party with the parent company of Taihua, has a </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% interest in Alpha Steel. The Chief Executive Officer of Taihua is the General Manager of Alpha Steel. We have equal voting representation with Taihua and DAYV LLC, combined, on Alpha Steel's Board of Managers which will be responsible, through majority vote, for making certain "major decisions" involving Alpha Steel, as specified in the LLC Agreement, including, among other things, approval of an annual business plan.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of September 30, 2023, we made a required initial capital contribution to Alpha Steel of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Pursuant to the LLC Agreement, we could be required to make u</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">p to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.6</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> additional capital contributions as Alpha Steel expands production. Alpha Steel had no operating revenue during the three and nine months ended September 30, 2023. We did, however, recognize a loss of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.3</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> from this unconsolidated subsidiary during the three and nine months ended September 30, 2023, reflecting our share of certain administrative and other expenses incurred to date.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In connection with the creation of Alpha Steel, we also entered into a three-year equipment supply agreement (the "Supply Agreement") with Alpha Steel, the terms of which will apply to our equipment purchase orders, including specified minimum purchase amounts for each twelve-month period during the term of the Supply Agreement, following commencement of production. The Supply Agreement may be terminated early in accordance with its provisions or may be extended beyond the initial term if mutually agreed to by the parties.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> 0.02 0.45 0.51 0.04 900000 2600000 300000 300000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4. </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Reduction in force</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In August 2023, we restructured and combined selected indirect and administrative functions in order to better control and manage our overhead costs in relation to current market conditions, including the impact of start-up delays for certain customer projects. This effort resulted in a reduction of </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">21</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> employees, including certain members of our executive leadership team, or approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of our existing headcount at that time. In connection with this effort,</span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> we recognized severance and termination-related costs as follows:</span></span></p><div style="font-size:10pt;font-family:Times New Roman;"> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:82.309%;"></td> <td style="width:1.741%;"></td> <td style="width:1%;"></td> <td style="width:13.95%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">For the three and nine months ended September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenue</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">252</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">154</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling and marketing</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">169</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,513</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,088</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At September 30, 2023, we had an accrual totaling approximately </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.2</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> relating to costs still to be paid to our former employees.</span></p> 21 0.09 <span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> we recognized severance and termination-related costs as follows:</span> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:82.309%;"></td> <td style="width:1.741%;"></td> <td style="width:1%;"></td> <td style="width:13.95%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">For the three and nine months ended September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenue</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">252</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">154</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling and marketing</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">169</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,513</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,088</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 252000 252000 154000 154000 169000 169000 1513000 1513000 2088000 2088000 1200000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5. </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> ATM program</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 14, 2022, we filed a prospectus supplement and entered into an equity distribution agreement (as amended from time to time, the "EDA") under which we may from time to time, in one or more transactions, offer and sell newly issued shares of our common stock having an aggregate offering price of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in "at the money" offerings (the "ATM program"). We have and intend to continue to use the net proceeds from this offering for general corporate purposes, including working capital and operating expenses. We may also use a portion of such proceeds to acquire or invest in businesses, products, services or technologies.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Credit Suisse Securities (USA) LLC served as our initial sales agent under the EDA until August 9, 2023, when that role was assumed by Barclays Capital Inc. ("Barclays") pursuant to an amendment to the EDA. The offering of our common stock under the EDA will terminate upon the earlier of (1) the sale of all common stock subject to the EDA or (2) the termination of the EDA by us or by Barclays as permitted therein. The EDA contains customary representations, covenants and indemnification provisions.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under the ATM program, we sold </span><span style="font-size:10pt;font-family:Times New Roman;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6,149,885</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15,421,885</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of newly issued common stock valued at </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10.7</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">35.1</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively (for proceeds, net of commissions and fees, of approximately </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10.4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">34.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively), during the three and nine months ended September 30, 2023. As of September 30, 2023, approximately </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">64.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of capacity remained for future sales of our common stock under the ATM program.</span></p> 100000000 6149885 15421885 10700000 35100000 10400000 34000000 64900000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6. Accounts receivable, net</span></p><div style="font-size:11pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Trade receivables</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">49,963</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">35,367</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Related party receivables</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">777</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">—</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue recognized in excess of billings</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">26,115</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14,844</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other receivables</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">76,861</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">50,236</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Allowance for credit losses</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,486</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,184</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable, net</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">71,375</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">49,052</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information relating to related party receivables at September 30, 2023, may be found below in Note 17, "Related party transactions".</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Included in total receivables above are amounts billed under retainage provisions totaling </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.7</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of September 30, 2023 and December 31, 2022, respectively, which are due within the next twelve months.</span></p><div style="font-size:11pt;font-family:'Calibri',sans-serif;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity in the allowance for credit losses during the </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nine months ended September 30, 2023 was as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:79.087%;"></td> <td style="width:2.061%;"></td> <td style="width:1%;"></td> <td style="width:16.852%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">For the nine months ended September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at beginning of period</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,184</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Impact of adoption of ASU 2016-13 at beginning of year</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">—</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Additions charged to earnings during the period</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,302</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at end of period</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,486</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended September 30, 2023, we recognized provisions for credit losses totaling </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4.1</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p> <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Trade receivables</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">49,963</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">35,367</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Related party receivables</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">777</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">—</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue recognized in excess of billings</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">26,115</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14,844</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other receivables</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">76,861</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">50,236</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Allowance for credit losses</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,486</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,184</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accounts receivable, net</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">71,375</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">49,052</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 49963000 35367000 777000 0 26115000 14844000 6000 25000 76861000 50236000 5486000 1184000 71375000 49052000 900000 3700000 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity in the allowance for credit losses during the </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nine months ended September 30, 2023 was as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:79.087%;"></td> <td style="width:2.061%;"></td> <td style="width:1%;"></td> <td style="width:16.852%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">For the nine months ended September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at beginning of period</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,184</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Impact of adoption of ASU 2016-13 at beginning of year</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">—</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Additions charged to earnings during the period</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,302</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at end of period</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,486</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 1184000 4302000 5486000 4100000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7. Inventories, net</span></p><div style="font-size:11pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Finished goods</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,444</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16,269</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Allowance for slow-moving and obsolete inventory</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">789</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,320</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,655</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14,949</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Inventories consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Finished goods</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,444</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16,269</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Allowance for slow-moving and obsolete inventory</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">789</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,320</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,655</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14,949</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 5444000 16269000 789000 1320000 4655000 14949000 <span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Prepaid and other current assets</span><div style="font-size:11pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid and other current assets consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Vendor deposits</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,370</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,085</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,171</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,544</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid taxes</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">250</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">163</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred cost of revenue</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">997</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">—</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Surety collateral</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">107</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other current assets</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,679</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,405</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:11pt;"> <td style="background-color:#cff0fc;text-indent:7pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13,468</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10,304</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At September 30, 2023, other current assets included </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.5</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(i) a short-term, interest-bearing loan to a customer, as well as</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(ii) a non-interest-bearing customer advance, both of which are for pre-project construction financing activities. These amounts are secured by customer assets and, additionally in one case by a financial guarantee.</span></p></div> <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid and other current assets consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Vendor deposits</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,370</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,085</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid expenses</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,171</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,544</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Prepaid taxes</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">250</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">163</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Deferred cost of revenue</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">997</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">—</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Surety collateral</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">107</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other current assets</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,679</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,405</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:11pt;"> <td style="background-color:#cff0fc;text-indent:7pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:11pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13,468</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10,304</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At September 30, 2023, other current assets included </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.5</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(i) a short-term, interest-bearing loan to a customer, as well as</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(ii) a non-interest-bearing customer advance, both of which are for pre-project construction financing activities. These amounts are secured by customer assets and, additionally in one case by a financial guarantee.</span></p> 5370000 5085000 2171000 3544000 250000 163000 997000 0 1000 107000 4679000 1405000 13468000 10304000 3500000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9. Leases</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We lease office and warehouse space in various locations, including our corporate headquarters in Austin, Texas. Additionally, we lease space for an applications laboratory in Austin, Texas and have a membership in a collaborative research facility in Colorado. During the nine months ended September 30, 2023, we also leased space (i) in Seguin, Texas for a research and development facility that we began using in the third quarter of 2023 as a replacement for the collaborative research facility in Colorado, (ii) for new offices in India and South Africa and (iii) for employee housing in Australia. All of our manufacturing is outsourced to contract manufacturing partners, and we currently do not own or lease any manufacturing facilities.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our lease expense consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:53.809%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Three months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating lease cost</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">251</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">166</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">748</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">550</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Short-term lease cost</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">132</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">122</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">334</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">332</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total lease cost</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">383</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">288</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,082</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">882</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Reported in:</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenue</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">245</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">164</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">710</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">522</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">40</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">33</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling and marketing</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">24</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">62</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">100</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">101</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">270</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">302</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total lease cost</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">383</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">288</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,082</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">882</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Future remaining operating lease payment obligations were as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:84.651%;"></td> <td style="width:1.521%;"></td> <td style="width:1%;"></td> <td style="width:11.829%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30,<br/>2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Remainder of 2023</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">219</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2024</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">818</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2025</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">755</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2026</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">219</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2027</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">192</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Thereafter</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total lease payments</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,219</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Less: imputed interest</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">167</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Present value of operating lease liabilities</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,052</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Current portion of operating lease liability</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">742</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liability, net of current portion</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,310</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Present value of operating lease liabilities</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,052</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Our lease expense consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:53.809%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Three months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating lease cost</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">251</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">166</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">748</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">550</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Short-term lease cost</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">132</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">122</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">334</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">332</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total lease cost</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">383</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">288</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,082</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">882</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Reported in:</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenue</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">245</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">164</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">710</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">522</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">40</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">33</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling and marketing</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">24</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">62</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">100</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">101</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">270</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">302</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total lease cost</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">383</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">288</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,082</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">882</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 251000 166000 748000 550000 132000 122000 334000 332000 383000 288000 1082000 882000 245000 164000 710000 522000 14000 11000 40000 33000 24000 12000 62000 25000 100000 101000 270000 302000 383000 288000 1082000 882000 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Future remaining operating lease payment obligations were as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:84.651%;"></td> <td style="width:1.521%;"></td> <td style="width:1%;"></td> <td style="width:11.829%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30,<br/>2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Remainder of 2023</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">219</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2024</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">818</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2025</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">755</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2026</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">219</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2027</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">192</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Thereafter</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total lease payments</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,219</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Less: imputed interest</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">167</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Present value of operating lease liabilities</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,052</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Current portion of operating lease liability</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">742</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Operating lease liability, net of current portion</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,310</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Present value of operating lease liabilities</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,052</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 219000 818000 755000 219000 192000 16000 2219000 167000 2052000 742000 1310000 2052000 <span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Property and equipment, net</span><div style="font-size:11pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Leasehold improvements</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">157</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">22</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Field equipment</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,012</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,078</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information technology equipment</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">440</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">355</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Tooling</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">953</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">824</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Capitalized software</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">495</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">250</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,057</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,529</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accumulated depreciation</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,372</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">827</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment, net</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,685</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,702</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Depreciation expense recognized for the three and nine months ended September 30, 2023, totaled </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. Depreciation expense recognized for the three and nine months ended September 30, 2022</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, totaled $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p> <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Leasehold improvements</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">157</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">22</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Field equipment</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,012</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,078</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information technology equipment</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">440</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">355</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Tooling</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">953</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">824</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Capitalized software</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">495</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">250</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,057</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,529</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accumulated depreciation</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,372</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">827</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment, net</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,685</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,702</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> 157000 22000 1012000 1078000 440000 355000 953000 824000 495000 250000 3057000 2529000 1372000 827000 1685000 1702000 200000 600000 200000 400000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11. Intangible assets, net and goodwill</span></p><div style="font-size:11pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:48.568%;"></td> <td style="width:1.462%;"></td> <td style="width:20.288%;"></td> <td style="width:1.462%;"></td> <td style="width:1%;"></td> <td style="width:11.378%;"></td> <td style="width:1%;"></td> <td style="width:1.462%;"></td> <td style="width:1%;"></td> <td style="width:11.378%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Estimated Useful Lives (Years)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Developed technology</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.5</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:'Calibri',sans-serif;min-width:fit-content;">–</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.0</span></span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,515</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,591</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,515</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,591</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accumulated amortization</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,858</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,478</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net</span></p></td> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">657</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,113</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amortization expense recognized for the three and nine months ended September 30, 2023, totaled </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.4</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. Amortization expense recognized for the three and nine months ended September 30, 2022</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, totaled $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nine months ended September 30, 2023, activity in our goodwill balance was as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:55.353%;"></td> <td style="width:1.461%;"></td> <td style="width:13.448%;"></td> <td style="width:1.461%;"></td> <td style="width:13.448%;"></td> <td style="width:1.461%;"></td> <td style="width:1%;"></td> <td style="width:11.369%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at December 31, 2022</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,538</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Translation</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">395</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at September 30, 2023</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,143</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:48.568%;"></td> <td style="width:1.462%;"></td> <td style="width:20.288%;"></td> <td style="width:1.462%;"></td> <td style="width:1%;"></td> <td style="width:11.378%;"></td> <td style="width:1%;"></td> <td style="width:1.462%;"></td> <td style="width:1%;"></td> <td style="width:11.378%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Estimated Useful Lives (Years)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Developed technology</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.5</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:'Calibri',sans-serif;min-width:fit-content;">–</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.0</span></span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,515</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,591</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total</span></p></td> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,515</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,591</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accumulated amortization</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,858</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,478</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets, net</span></p></td> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">657</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,113</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> P2Y6M P3Y 2515000 2591000 2515000 2591000 1858000 1478000 657000 1113000 100000 400000 100000 100000 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nine months ended September 30, 2023, activity in our goodwill balance was as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:55.353%;"></td> <td style="width:1.461%;"></td> <td style="width:13.448%;"></td> <td style="width:1.461%;"></td> <td style="width:13.448%;"></td> <td style="width:1.461%;"></td> <td style="width:1%;"></td> <td style="width:11.369%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at December 31, 2022</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,538</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Translation</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">395</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at September 30, 2023</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,143</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 7538000 -395000 7143000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12. Debt</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On April 30, 2021, we entered into an agreement for our Credit Facility with various lenders, including Barclays Bank PLC, as issuing lender, the swingline lender and as administrative agent (the "Credit Facility Agreement") providing aggregate commitments of up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">100.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have not made any draws on our Credit Facility as of September 30, 2023. However, as of September 30, 2023, we had </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in letters of credit outstanding that reduced our available borrowing capacity to approximately </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">98.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On June 7, 2023, we entered into Amendment No. 3 to our Credit Facility Agreement with Barclays Bank PLC, pursuant to the occurrence of an Early Opt-in Election, to replace USD LIBOR with the secured overnight financing rate (SOFR) as the benchmark rate for future term loans (“Term SOFR”) under the Credit Facility Agreement. No other material changes were made to the Credit Facility Agreement as part of this amendment.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We are required to maintain a liquidity level (defined as unrestricted cash and cash equivalents plus the available borrowing capacity under the Credit Facility) of no less than </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">125.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> at each quarter end in order to utilize the Credit Facility. As of September 30, 2023, we were over the required minimum liquidity level thus allowing us to continue to access our Credit Facility up to the available borrowing capacity, pending the measurement of our liquidity level again at the end of the next fiscal quarter.</span></p> 100000000 2000000 98000000 125000000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13. Accrued expenses and other current liabilities</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued cost of revenue</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">19,923</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13,198</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Related party accrued cost of revenue</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,304</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">—</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued compensation</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,666</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,688</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other accrued expenses</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,885</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6,010</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total accrued expenses</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25,778</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">23,896</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Warranty reserves</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,738</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,004</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Current portion of operating lease </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_f9fa922f-2309-4e8b-8d6b-ae074a988c95;"><span style="-sec-ix-hidden:F_167a5fec-5595-47f7-a128-2eb31863a50a;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">liability</span></span></span></span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">742</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">417</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-federal tax obligations</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">109</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">463</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total other current liabilities</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,589</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,884</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information relating to related party accruals at September 30, 2023, may be found below in Note 17, "Related party transactions</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">".</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other accrued expenses primarily include amounts due for (i) legal and other costs associated with outstanding legal matters and (ii) other professional services.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We provide standard warranties on our hardware products to customers. The liability amount is based on actual historical warranty spending activity by type of product, customer and geographic region, modified by any known differences such as the impact of expected remediation activities or reliability improvements.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity by period in the Company's warranty accruals was as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:53.809%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Three months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at beginning of period</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,081</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,444</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,426</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9,346</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Warranties issued during the period</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-weight:normal;font-size:6.7pt;font-family:Times New Roman;position:relative;min-width:fit-content;">(a)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,086</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,190</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,938</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,374</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Settlements made during the period</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">847</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,759</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,184</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,139</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Changes in liability for pre-existing warranties</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">363</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">92</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,223</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">798</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at end of period</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,957</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,783</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,957</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,783</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Warranty accruals are reported in:</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other current liabilities</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,738</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,304</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,738</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,304</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other non-current liabilities</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,219</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,479</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,219</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,479</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at end of period</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,957</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,783</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,957</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,783</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(a) </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:8pt;font-family:'Calibri',sans-serif;min-width:fit-content;">–</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> Inclusive of accruals for expected remediation activities</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued expenses and other current liabilities consisted of the following:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.924%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.482%;"></td> <td style="width:1%;"></td> <td style="width:11.556000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">September 30, 2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued cost of revenue</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">19,923</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13,198</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Related party accrued cost of revenue</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,304</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">—</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accrued compensation</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,666</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,688</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other accrued expenses</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,885</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6,010</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total accrued expenses</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25,778</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">23,896</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Warranty reserves</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,738</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,004</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Current portion of operating lease </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="-sec-ix-hidden:F_f9fa922f-2309-4e8b-8d6b-ae074a988c95;"><span style="-sec-ix-hidden:F_167a5fec-5595-47f7-a128-2eb31863a50a;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">liability</span></span></span></span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">742</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">417</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Non-federal tax obligations</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">109</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">463</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total other current liabilities</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,589</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,884</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information relating to related party accruals at September 30, 2023, may be found below in Note 17, "Related party transactions</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">".</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> 19923000 13198000 1304000 0 1666000 4688000 2885000 6010000 25778000 23896000 7738000 8004000 742000 417000 109000 463000 8589000 8884000 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Activity by period in the Company's warranty accruals was as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:53.809%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Three months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at beginning of period</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,081</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,444</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,426</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9,346</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Warranties issued during the period</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-weight:normal;font-size:6.7pt;font-family:Times New Roman;position:relative;min-width:fit-content;">(a)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,086</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,190</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,938</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,374</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Settlements made during the period</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">847</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,759</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,184</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,139</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Changes in liability for pre-existing warranties</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">363</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">92</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,223</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">798</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at end of period</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,957</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,783</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,957</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,783</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Warranty accruals are reported in:</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other current liabilities</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,738</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,304</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,738</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8,304</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other non-current liabilities</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,219</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,479</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,219</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4,479</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Balance at end of period</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,957</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,783</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,957</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12,783</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(a) </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:8pt;font-family:'Calibri',sans-serif;min-width:fit-content;">–</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> Inclusive of accruals for expected remediation activities</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 12081000 11444000 12426000 9346000 1086000 3190000 3938000 7374000 847000 1759000 3184000 3139000 -363000 -92000 -1223000 -798000 11957000 12783000 11957000 12783000 7738000 8304000 7738000 8304000 4219000 4479000 4219000 4479000 11957000 12783000 11957000 12783000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14. </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income taxes</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the three months ended September 30, 2023 and 2022 we recorded income tax expense of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.17</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and an income tax benefit of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.15</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> respectively. For the nine months ended September 30, 2023 and 2022, we recorded income tax expense of </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.18</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.02</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively. These amounts for each period were lower than the statutory rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">21</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, primarily due to a valuation allowance established against the U.S. deferred tax assets.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have had no material change in our unrecognized tax benefits since December 31, 2022. We recognize accrued interest and penalties related to unrecognized tax benefits as a component of income tax expense. As of September 30, 2023 and December 31, 2022</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we had </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> accrued interest or penalties related to unrecognized tax benefits.</span></p> 170000 -150000 180000 20000.00 0.21 0 0 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15. </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Commitments and contingencies</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We may become involved in various claims, lawsuits, investigations, and other proceedings, arising in the normal course of business. We accrue a liability when information available prior to the issuance of our financial statements indicates it is probable a loss has been incurred as of the date of the financial statements and the amount of loss can be reasonably estimated. If the reasonable estimate of the probable loss is a range, we record an accrual for the most likely estimate of the loss, or the low end of the range if there is no one best estimate. We adjust our accruals to reflect the impact of negotiation, settlements, rulings, advice of legal counsel and other information and events pertaining to a particular case. Legal costs are expensed as incurred.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In March of 2023, CBP issued notices of tariff assessment that indicated an action taken at the Import Specialist (i.e., the port) level with respect to merchandise imported from Thailand under entry number 004-1058562-5 (the “625 Assessment”) and entry number 004-1063793-9 (the “Original 939 Assessment”, and collectively with the 625 Assessment, the “Original CBP Assessments”). The Original CBP Assessments related to certain torque beams that are used in our Voyager+ product that were imported in 2022. In the Original CBP Assessments, CPB asserted that Section 301 China tariffs, Section 232 steel &amp; aluminum tariffs, and antidumping and countervailing duties applied to the merchandise. Based on correspondence received to date from CBP and our calculations based on applicable duty and tariff rates, the 625 Assessment is currently for approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.16</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. In September of 2023, CBP informed us (the "Revised 939 Assessment", and together with the 625 Assessment, the "Revised CBP Assessments") that the amount owed under the Original 939 Assessment was being revised downward to approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.01</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> In particular, CBP accepted our position that the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, previously assessed under the Original 939 Assessment are not applicable as they are only applicable to articles that originate in China </span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">and that, in this case, the finished goods are products of Thailand.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Upon review of the facts involved, and in consultation with outside legal counsel, we believe that the remaining amounts claimed in the Revised CBP Assessments are incorrect. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In particular, the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, are not applicable under the 625 Assessment for the same reason stated above with respect to the Revised 939 Assessment, which has been accepted by CBP.</span></span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Moreover, with respect to both Revised CBP Assessments, we believe that the goods in question were properly classified as parts of structures at the time of importation and that when properly classified, the beams and other materials are not subject to Section 232 duties applicable to more basic steel products.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">CBP has legally finalized both Revised CBP Assessments. We filed a formal protest for the 625 Assessment in September of 2023 and plan to do the same for the Revised 939 Assessment. Based on the above, and under the relevant accounting guidance related to loss contingencies, we have made no accrual for the amounts claimed by CBP as of September 30, 2023, as we do not consider these amounts to be a probable obligation, as such term is defined and interpreted under the relevant accounting guidance, for us at this time. However, because matters of this nature are subject to inherent uncertainties, and unfavorable rulings or developments, including future assessments of additional duties or tariffs owed in respect of other shipments or other materials beyond what is presently included in the Revised CBP Assessments, could occur despite our belief that the tariffs and duties asserted are incorrect, there can be no certainty that the Company may not ultimately incur charges that are not currently recorded as liabilities. Since the outcome of these matters cannot be predicted with certainty, the costs associated with them could have a material adverse effect on our consolidated results of operations, financial position, or liquidity.</span></p> 2160000 2010000.00 In particular, CBP accepted our position that the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, previously assessed under the Original 939 Assessment are not applicable as they are only applicable to articles that originate in China In particular, the Section 301 tariffs of 25% or 7.5% of the value of the merchandise, depending on tariff classification, as well as the antidumping and countervailing duties, are not applicable under the 625 Assessment for the same reason stated above with respect to the Revised 939 Assessment, which has been accepted by CBP. <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16. </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> Stock-based compensation</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="margin-left:0.533%;text-indent:4.558%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock compensation expense for each period was as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:53.809%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Three months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenue</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">181</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,153</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,313</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,521</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">85</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">487</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">449</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,134</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling and marketing</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">166</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">598</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">821</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,630</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">760</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,269</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6,461</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9,970</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total stock compensation expense</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,192</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,507</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9,044</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15,255</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="margin-left:0.533%;text-indent:4.558%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock compensation expense for each period was as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:53.809%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> <td style="width:1.143%;"></td> <td style="width:1%;"></td> <td style="width:8.404%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Three months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">(in thousands)</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Cost of revenue</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">181</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,153</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,313</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,521</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Research and development</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">85</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">487</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">449</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,134</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Selling and marketing</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">166</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">598</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">821</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,630</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">General and administrative</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">760</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5,269</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6,461</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9,970</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total stock compensation expense</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,192</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,507</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9,044</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15,255</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 181000 1153000 1313000 2521000 85000 487000 449000 1134000 166000 598000 821000 1630000 760000 5269000 6461000 9970000 1192000 7507000 9044000 15255000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">17. Related party transactions</span></p><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Transaction with Ayna.AI LLC</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In February 2022, we engaged Ayna.AI LLC (as successor in interest to Fernweh Engaged Operator Company LLC) (“Ayna”) to support us with improvements to our processes and performance in various areas including design, sourcing, logistics, pricing, software and standard configuration. The consideration for this engagement was a combination of cash and stock options, including options that vested over time, as well as options with vesting tied to certain performance metrics. The foregoing engagement constituted a related party transaction as South Lake One LLC, an entity affiliated with Isidoro Quiroga Cortés, a member of our board of directors, and a holder of more than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of our outstanding capital stock, is an investor in Ayna. In addition, Discrimen LLC is an investor in Ayna, and Isidoro Quiroga Cortés is affiliated with that entity. Isidoro Quiroga Cortés is also on the board of directors of Ayna.</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On September 13, </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2023, we executed a termination of the master services agreement and statement of work (collectively, the "Service Agreement") with Ayna and Fernweh Group LLC, the parent company of Fernweh Engaged Operator Company LLC, which resulted in a forfeiture of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2,000,000</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> unvested stock options that were part of the initial consideration for the engagement. Due to the accelerated timing of the payments required for the cash portion of the initial consideration and the expected service period over which the engagement was estimated to last, we had unamortized prepaid balances remaining at the termination date totaling approximate</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ly </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.2</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. These prepaid balances were fully amortized during the three months ended September 30, 2023 as a charge to general and administrative expense. In addition, approximately </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of stock-based compensation expense previously recognized on the unvested stock options was reversed during the three months ended September 30, 2023 in connection with their forfeiture. An additional </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1,000,000</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> options to purchase shares of common stock at an exercise price of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.86</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share were fully vested and exercisable as of the termination date.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For the three and nine months ended September 30, 2023, we incurred </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.1</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.5</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, respectively, of general and administrative expense associated with our engagement of Ayna, inclusive of the amounts described above. Cash payments to Ayna in 2023 prior to the termination of the Service Agreement totaled </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.5</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. During the three and nine months ended September 30, 2022</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, we incurred $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.9</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, of general and administrative expenses and made cash payments totaling $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.7</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million during the </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nine months ended September 30, 2022.</span></p><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Repurchase of common stock and issuance of RSUs</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effective July 5, 2023, we agreed to acquire </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">312,500</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of our outstanding common stock held by ARC Family Trust, a related party and greater than </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% shareholder, for no monetary consideration. The acquired shares were then retired. The ARC Family Trust was established by Mr. Ahmad Chatila, a member of our Board of Directors, for the benefit of certain members of his family. Mr. Shaker Sadasivam, the Chairman of our Board of Directors, is the trustee of the ARC Family Trust.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Concurrent with the transaction described above and with the approval of our Board of Directors, we issued </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">250,000</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> RSUs to Mr. Tony Alvarez, who was appointed as our Board Observer, effective July 5, 2023, and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">62,500</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> RSUs to Mr. William Aldeen "Dean" Priddy, Jr., a member of our Board of Directors and Chairman of the Audit Committee of the Board. These RSU grants will vest upon the one-year anniversary of the date of grant.</span></p><p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Related party receivables and payables</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We have related party receivables at September 30, 2023</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, totaling </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.8</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for future material costs discounts contractually owed to us by Alpha Steel in connection with the expected receipt of manufacturing incentives available to Alpha Steel under the Inflation Reduction Act as costs are incurred by Alpha Steel to purchase raw materials and manufacture torque tubes and other products that will be used to fulfill purchase orders we issue to Alpha Steel.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">We also have related party payables to Alpha Steel at September 30, 2023</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, totaling </span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">1.3</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> for the accrued cost of revenue recognized on certain of our customer projects associated with the cost of products that are being manufactured for us by Alpha Steel.</span></p> 0.05 2000000 3200000 1100000 1000000 3.86 2100000 3500000 2500000 900000 3000000 1700000 312500 0.10 250000 62500 800000 1300000 <p style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. Net loss per share</span></p><div style="font-size:10pt;font-family:Times New Roman;"> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:49.078%;"></td> <td style="width:1.183%;"></td> <td style="width:1%;"></td> <td style="width:9.546999999999999%;"></td> <td style="width:1%;"></td> <td style="width:1.183%;"></td> <td style="width:1%;"></td> <td style="width:9.546999999999999%;"></td> <td style="width:1%;"></td> <td style="width:1.183%;"></td> <td style="width:1%;"></td> <td style="width:9.546999999999999%;"></td> <td style="width:1%;"></td> <td style="width:1.183%;"></td> <td style="width:1%;"></td> <td style="width:9.546999999999999%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Three months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Net loss (in thousands)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16,937</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25,636</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">39,113</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">79,112</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Weighted average shares outstanding for calculating basic and diluted loss per share</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">119,793,821</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">102,164,455</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">112,794,562</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">100,642,126</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Basic and diluted loss per share</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.14</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.25</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.35</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.79</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> </table></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For purposes of computing diluted loss per share, weighted average common shares outstanding do not include potentially dilutive securities that are anti-dilutive, as shown below.</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.84%;"></td> <td style="width:1.02%;"></td> <td style="width:1%;"></td> <td style="width:12.06%;"></td> <td style="width:1%;"></td> <td style="width:1.02%;"></td> <td style="width:1%;"></td> <td style="width:12.06%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">For the three and nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Anti-dilutive securities excluded from calculating dilutive loss per share:</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shares of common stock issuable under stock option plans outstanding</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,048,139</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,407,333</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shares of common stock issuable upon vesting of RSUs</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,982,821</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,603,064</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Potential common shares excluded from diluted net loss per share calculation</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,030,960</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15,010,397</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table></div> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:49.078%;"></td> <td style="width:1.183%;"></td> <td style="width:1%;"></td> <td style="width:9.546999999999999%;"></td> <td style="width:1%;"></td> <td style="width:1.183%;"></td> <td style="width:1%;"></td> <td style="width:9.546999999999999%;"></td> <td style="width:1%;"></td> <td style="width:1.183%;"></td> <td style="width:1%;"></td> <td style="width:9.546999999999999%;"></td> <td style="width:1%;"></td> <td style="width:1.183%;"></td> <td style="width:1%;"></td> <td style="width:9.546999999999999%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Three months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">Nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Net loss (in thousands)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16,937</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25,636</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">39,113</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">79,112</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Weighted average shares outstanding for calculating basic and diluted loss per share</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">119,793,821</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">102,164,455</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">112,794,562</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">100,642,126</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Basic and diluted loss per share</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.14</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.25</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.35</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">0.79</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">)</span></p></td> </tr> </table> -16937000 -25636000 -39113000 -79112000 119793821 119793821 102164455 102164455 112794562 112794562 100642126 100642126 -0.14 -0.14 -0.25 -0.25 -0.35 -0.35 -0.79 -0.79 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For purposes of computing diluted loss per share, weighted average common shares outstanding do not include potentially dilutive securities that are anti-dilutive, as shown below.</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:69.84%;"></td> <td style="width:1.02%;"></td> <td style="width:1%;"></td> <td style="width:12.06%;"></td> <td style="width:1%;"></td> <td style="width:1.02%;"></td> <td style="width:1%;"></td> <td style="width:12.06%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="6" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">For the three and nine months ended September 30,</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2023</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">2022</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="text-indent:0;font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Anti-dilutive securities excluded from calculating dilutive loss per share:</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td colspan="2" style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shares of common stock issuable under stock option plans outstanding</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3,048,139</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,407,333</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#ffffff;text-indent:5pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Shares of common stock issuable upon vesting of RSUs</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,982,821</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7,603,064</span></p></td> <td style="background-color:#ffffff;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;"> <td style="background-color:#cff0fc;text-indent:10pt;word-break:break-word;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Potential common shares excluded from diluted net loss per share calculation</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11,030,960</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15,010,397</span></p></td> <td style="background-color:#cff0fc;word-break:break-word;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></td> </tr> </table> 3048139 3048139 7407333 7407333 7982821 7982821 7603064 7603064 11030960 11030960 15010397 15010397 <p id="item_5_other_information" style="text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ITEM 5. OTHER INF</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ORMATION</span></p><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">(a)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Information required to be disclosed in a report on Form 8-K during the period covered by this Form 10-Q, but not reported.</span></div></div><p style="margin-left:9.067%;text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">None</span></p><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">(b)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Furnish the information required by Item 407(c)(3) of Regulation S-K (§229.407 of this chapter) </span></div></div><p style="margin-left:9.067%;text-indent:0;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">None</span></p><div style="margin-left:4.528%;text-indent:0;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;text-indent:0;display:inline-flex;font-size:10pt;font-family:Times New Roman;justify-content:flex-start;min-width:4.7521786492374725%;">(c)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Furnish the information required by Item 408(a) of Regulation S-K (17 CFR 229.408(a)).</span></div></div><p style="margin-left:4.533%;text-indent:4.749%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended September 30, 2023</span><span style="color:#000000;white-space:pre-wrap;font-weight:normal;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, none of our directors or officers adopted or terminated a "Rule 10b5-1 trading arrangement" or "non-Rule 10b5-1 trading arrangement," as each term is defined in Item 408 of Regulation S-K.</span></p> (i) a short-term, interest-bearing loan to a customer, as well as (ii) a non-interest-bearing customer advance, both of which are for pre-project construction financing activities. These amounts are secured by customer assets and, additionally in one case by a financial guarantee. EXCEL 87 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /!):%<'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " #P26A7#I[^=.\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M3L,P#(=?!>7>NFD'0E&7"]-.("$Q"<0M2KPMHOFCQ*C=V].6K1."!^ 8^Y?/ MGR6W.@H=$CZG$#&1Q7PSN,YGH>.:'8FB ,CZB$[ED/ M=4"HJ^H.')(RBA1,P"(N1"9;HX5.J"BD,][H!1\_4S?#C ;LT*&G#+SDP.0T M,9Z&KH4K8((1)I>_"V@6XES]$SMW@)V30[9+JN_[LF_FW+@#A[>GQY=YW<+Z M3,IK'']E*^@4<5'=[_A*\%O!5^^3ZP^_J[ +QN[M M/S:^",H6?MV%_ )02P,$% @ \$EH5YE&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" #P26A7"0=NL 4& "K( & 'AL+W=O75U(NMT)^2=><*_(2A7%ZU5DKE;SK]5)OS2.6 MGHN$Q_#-4LB(*;B5JUZ:2,[\/"@*>]2RAKV(!7%GY232Y&I,(CYHR1I M%D5,OE[S4&RO.G9G_^ I6*V5?M";7"9LQ>=<_98\2KCKE2I^$/$X#41,)%]> M=:;V.]?IZX#\C=\#ODT/KHE&>1;BB[Z9^5<=2Y>(A]Q36H+!QX:[/ RU$I3C MWYUHI_Q-'7AXO5>_S>$!YIFEW!7A'X&OUE>=<8?X?,FR4#V)[0>^ QIH/4^$ M:?Z7;(MW^_T.\;)4B6@7#"6(@KCX9"^[BC@(<&A- -T%T*\"[+I?<'8!3@Y: ME"S'NF&*32ZEV!*IWP8U?9'731X--$<SA7$KX-($Y-;H2705848;%/WL],?OC.'EH_F_"^D=@;V'X) MV\?4)[N6\<17@<:%]G+/(FY"QG5N%RZ9/]Q-G\[([-X]-V&B BTQ!R7FH FF M"QU"LA Z@L]?R*_\U02**UF698_IV![:)D8TMB7CL&02HA!PU2>1M$$(?=8%L):0QB[C,U/-@ MPI$0[Q=:)DY4HB7GN.0<-VJPNYP^\41(%<0K,E=,9<91&Q?\;!SJ732H)>-% MR7C1A'$6*RZ+65^W5;:'-C'B@C6,:%!+1MNJYF&K">4\8F%(KK,4OD[-LRZN MLV1A:NK'+A[7EN_ 9]A-^-Y'7*YT _T%%-2:N")*6&SLFD<$E:0URF'N\4 M9L>NW(Z-VY32%2]>$^.D>"3>MKJ?C%BG,#=VY6YLW)246$5[1*?](U*E&:]U MX[A 6];*Y=BX,2E9#WW.+3PT#ZJX6"WC*3R.79D<&[ MPM_8E<&Q<4,"HZB?&YK7Z%F$1BI< )8<,R/7*3R-79D:&SPLC0RLA0W( L A5R(I;$IC\^_T3FW,LDS!4FPB-*,*]$,'G.E?"^ MG)'OK7.]J"()].,-"\V3/Z[8EKTR.13W)'M8F/Z]-8M7O':9?$3H?CJ_F1JG M$#RP+6%E;V@C>Z,70^0^BYZ-2Z+K(R*0QF[?<@:6$? 4SH96SH8V6%1B]P3ER6!@HD81K\%?V$I^; U#7PNKM:V BIO1'$[@U; 8BN,%8!+SK, M.LBL2X?FC)_"*-'**-%&VT$EL*OOH#YW?P5)_<@4M-98+VN,T-_( .WJH5 ; MY&KZ4'G L@9C"B/UQ@1Y< )VQ,WLUY^?,B85E^'K;@?:B(5KU6WGX6%M M\UAY(Z?I3E"UFXG&,_Y'IW=J4A'P)H=;Y"-J1+$[&BQLEDOQP^5DH):+\40C 8 *4; 8 >&PO M=V]R:W-H965T&ULK5EMR6) @B!8E MSZO9ZKQ]]J%>GWHI!W%S,\>WSP,;_=:/-@L3K?\EMQ M+?3G[8<:[A9]E"PO1:5R6:%:K"]F;_"K2QH:A];B[US*UK M^#4'/[VZE%4&@R(R!%=*%GG&-=R\Y06O4H&N36"%GG^N>)/E\,L+=(8^7U^A MY\]>H&?2VV+Q$-YH@$A#K<+_WN M5R(%=]RZDV/W!52A+P7I2T':>'2J%$U=BTHCKA3D[$IG[Q^Z_Z6V/!47 M,UA12M0[,5O]_!..@M>NY'Y0L*-4:9\J]45?77*U03!H*#47XFN3[W@!N3NS MWH>*VE"F*^Q6%#,2G"]VA^G85F%($]9;'>$,>YRA%^>;-)4-P(*&D0K >%.( M.:J$=L'<1V(' &),8S:":5N%RX 1-TS6PV1>F.^J'11/UKEP%I#9[XS8&)AM MA,-EN'0#BWI@D1?8AUIL>9ZU0RWU1M304IZ:Y)$-A(91,H+KL IH$+KAQCW< MV OWD]2\. %B;+^9>$&^WXJ:Z[RZ184 _D"U(8HS MN3YKX&8:!6>I;8&$]N8R6-H0H M&4]6AU$<3"PB' Q4%#RQC#2O;G-8Y%T=)T%V@0X!1"P>@70888SI!,H#PL1> ME+]+F=WE1>'$A1U-**1C8 XK1I,)8 -]82]EK'Z%L85A+H7>R RH>2>4-D/M M!$HL""P*QSAMHXFU@P?BP7[F>=]VH>EETKFS([9)QNO$8162 $^ &]@&^^EF MWW\\X&SVP#0B;#F&Y[(+Z7)JB >>P>PDB5+D_"8ORG+4!8-R":Q?W62&GW MD-AD1%@ L[">M=U4J2X$TOQ?^0CIH*K+J:!N%X51?'6@* M^WGJ2JP%S.X,M!ZHJ<8-ST$\&-M5=)E1/%%%,A 4\1/4^R,)]<0B)#;])"P9 MMPJ759),4#X92(KX2>I823V%U.8CQAQ0;;,HH.$$)9"#;9>?M\:"ZA'M0TO_ M2*[[/+:R-GM_9PXV5\&(CS14SBMDM79J06WZ8L1B^0<5E%" M)E06&4B.G$)R3R&T&2PBV-*!+K-X&4[P'!EXCO@W5)>R+/-6O*C]-E569H*( M*@6\Z/E?4@N$V0LG\O_!5LBY/__^0,?9#XQ'(B_+7VN9?MG((A.U^J65[/K! MF:J7.+_Y/.('13M.>B!1XB=1V*IV_5^9](&D:K3C12-, W@6O R" "/H%$AM M>"WF" =S>&3^[9_ 1&E ^-;YOR)[;1:C0+E2AI:Y,B&NQ5:+\@8"/)XXM3/K M2J3=4^=!4E=HFY6MSN(S.2[)0-K$3]IF%4#)G"7)H_ECN>Y=ERPVQ@Z'@X7':8T7#B/(\.PH3ZA0EHY:9LBO:0N3N1 MDB4TE(WY,K #\I?*?0AIBX\S9LTBEU4T,8WH(%"H7Z <8L[$.D]SYYZ:VN+B MC"3QDHWEJ=,P!-4W5=V#8UV_$MESNSJ1/Z@M,.(PB,?' ZS* K9U,P=A C] M1B'2KK63P8?6@;-S+^ZT<^S%%P??4,P'K#]Y?9M7"C3I&AR#ES'D7^^_">UO MM-RVGU5NI-:R;"\W@@-L8P"_KR6HE.[&?*GIO\RM_@-02P,$% @ \$EH M5T\RIX$& P H !@ !X;"]W;W)K9)*K,,B8?KR$5FXGE6$\7 M;ODJT>:"'8X+MH(YZ+MB)G%F-RXQSR!77.1$PG)B73F74X<:017QC<-&[8R) M264AQ+V9?(XG%C5$D$*DC07#GS5,(4V-$W+\VII:S9I&N#M^&X> MXUQ+O,M1I\.IR&-\*! 3'"F1\IAIG%RSE.41D+DQ5N1LQB3D.@'-(Y:>D[.[ MG)4QQ\AS\IZ\)391"4:HL:V1R3C;T7;]ZWI]]\#ZECEVHBEN0CS[$(G*5D)A2ONN['U4)I MB;WWLRW5VKO?[FU>R$M5L @F%KYQ"N0:K/#=&R>@']H2_T]F>V7PFC)XQ]S# M&;Y+("4V C9@=']!"B;)FJ4EM*5=>PTJ+_.WL0YICU+JC.WU;D*OANVA]AO4 M_FFH=2<25NI$2/X;XC;DVM/?87%H_7D&W2%P#]MOL/U_PN9*E>W(_@N2YZS' M(O8@@P8R. HY%5F&3=^E!X)N/?!JV![GH.$3GWX^0]?=J+;'_G]OO^\R"V1U*>>ZP^'[<2CAGAT.C&>#91F>3H4?"O>,)1I7PD\QI]?GBWHBT4@\#U@^ 9;I?(&M?>V9[- MV>@+DRN>*Y+"$J6T-T /61\WZHD61;5C+X3&_;\:)GA$ VD"\/Y2"/TT,8> MYM 7_@%02P,$% @ \$EH5^CO.[LI" W2\ !@ !X;"]W;W)K6&&@LM2NP1]&TZV?% MHF.MLNA)M)/^^Y&R8UGD%>MTW)?$L@^/='@OR7,I7CWPYDN[8DR@QW55M]>3 ME1";R^FT7:S8.F]?\0VKY2]+WJQS(2^;^VF[:5A>=(W6U91X7CA=YV4]F5UU MW[UO9E=\*ZJR9N\;U&[7Z[SY>L,J_G ]P9.G+SZ4]RNAOIC.KC;Y/;MEXM/F M?2.OID>6HERSNBUYC1JVO)Z\QI<9352##O%7R1[:D\](2;GC_(NZ>%=<3SSU M1*QB"Z$HLCFO/I>%6%U/ MX@DJV#+?5N(#?_B5'00%BF_!J[;[BQX.6&^"%MM6\/6AL7R"=5GO_^>/AXXX M:2!YX ;DT(#H#?R1!O30@)Y[!__0P#_W#L&A02=]NM?>=5R:BWQVU? 'U"BT M9%,?NM[O6LO^*FN5*+>BD;^6LIV8S7E=R+"S LE/+:_*(A?RXE;(?S(?1(OX M4OZTEEFX4NFQ8^@WWK;HQ:_/@2_8C*&GU<\6V;UT5[ M-17R"=5]IHO#T]SLGX:,/ U%O_-:K%J4R:)[Y^_W3W[[KL/.H,>'L(R M$Y:$L1\>40.AP5%H8,VS.6^%FG8:2[X%+O/-)5GJDBQS1#8(0W@,0WA&OBV& MP8!BL:<)3I* 1#A,M+P#4*$71UK>F:@DQ'&HI9V)PH1(V7#>14?!D57PVT:M M;)N&+TN!7E3RXB4D-S)N3FFDJS5!%TF TVMB8I"'90!5"2@V(?%QD>QL760 M_;EA32[*^AZQQXUR .!R';L<9B[)4I=DF2.R02"28R 2:]9]D(QYLU@A:9FD MQ=U)[[Y1S@L*1V+F?4*T.7EN@@@FV@A*35 @QZR6>28H"F@,YQWV>L?I607? MRJI Y9W2*XN3+TQE(>@5/>/^(26^)A= X2314"F 2F)]]LF@.\8)'5%\XK&Q M?6)AM1QL5:J823#(-2% [ (ZS-P"L#\T&#+ %C@TR0:$=Y[96SU M@K.N2EHV?(WX7KPLKT#1U)S><4BB2%<-X$@8FHD.X&CB^;IS@W!1$IVDV5!X M[U*QW::^JP63LZ1X"O7/J&;@9';@&2KW=+L*HDY6^H-J"*7W30:AXIB,*.[M M*K;:L-G;7%:]7:B+LMWP5B:\-$QEO9.]H&9R511OZ\5I?=UN[]JR*//F*]@S M@?&N>E "I.8KU7 *K(#T9ZI7>/V&X?_Q0KUGP["4PK=Q$88@$0 MU3,ZA5 DU-T4B/*3$;6]=<1V[]@/]^=%&C!WE!HSGHDR!L Y1)F5:*B\]Y'8 MZH[VRN_8DC=,)OJ"KQD2^>/(#!]#@SF*C+4-P)$@,JH%"$?E@FVD.("+$F]T MEN^]&[:;MQ?O&[XKNUU3V0$O93_43%4/729\LS=,?R5[PP@^8/H"(_(W<_]P012Q1(DD9B&2DI,J+ZZ03@2A'H"IQ".)ACK=@;"11(W M,M>3WLH1;"^;NEEM,=@05>+!30IBM87/+9^^&;O"T7 M8 3V[>+3!/!>8;V:AV%$WSB#851?\&!8-)9TO;G-@]^/BH,XTOQDDD';*Q;0A!/8)#WP^, MK(18B9S.@Y#HF0FQ>J$_V)( M<%.[X98U1[%=@.6TO>6SW\.Z9$N=LF6NV(8QZ.L :J\#K._"G=I^IVRI4[;, M%=LP"+WMI^=L+EO>3![:G[I.$A'=M\\!& U\K:9, 53L)41_AP# ?!I&(_Z> MGAR^L)^^..>M.'5[#,/M.0RW!S'^CY,8M*\ZZ#EG, >0 ;"0Q-[(5A_MS3VUF_M;V8_E M;I]$"&4[;4*5OFBFT8@[[T MH.'W+SS6JN7907#)ECIERURQ#8/0UT74OMO_[84'."0"K#LF"E./Z&\R 1@A ML@!8$%"C6-9TY/CRFO6W'?GQ%LI:EN+_6G4X[?' ML^BONQ/8VO]3?)GM3YKW]/N#[[_GS7U9MZAB2WDK[U4D1TNS/TN^ MOQ!\TQV6ON-"\'7W<<7R@C4*(']?+M0-CB?Z9_\"4$L#!!0 ( /!) M:%>_G#K'H1 +^U 8 >&PO=V]R:W-H965T&ULQ9U[ M<]RV%<6_"D?-M/9,%)'@.[4U$^\N@'2:UA,E;?]E=FEIQ_M02*Z5?/N2JXT@ M '=!PCYJ/8FMQ^6Y)'"(!7^\(-\\[)N/[5U==\%OV\VN?7MQUW7WWUY=MENUW^SOZUW_FP_[9EMU_;?-[55[W]35ZKC1=G/%PC"[VE;KW<7UF^//WC?7 M;_:';K/>U>^;H#ULMU7S^[MZLW]X>Q%=_/&#']>W=]WP@ZOK-_?5;7U3=S_? MOV_Z[ZZ>5%;K;;UKU_M=T-0?WEY\%WTKBV38X!CQKW7]T#[[.A@.Y9?]_N/P MS?>KMQ?AL$?UIEYV@T35__.IGM6;S:#4[\>O)]&+IYS#AL^__D.='P^^/YA? MJK:>[3?_7J^ZN[<7Q46PJC]4ATWWX_Y!UJ<#2@>]Y7[3'O\.'DZQX46P/+3= M?GO:N-^#[7KW^&_UVZDAGFT0Q6N^"]>[P;LW7=/_=MUOUUW/]KM5[\1Z%?1?M?O->E5U_3/>\;.[-E/ M^Z[:$)O-W)N][[U?-\WQ&/J])@3F;H'9?KOM3ZIS6R]&]KH?0-I#\_O9[;E[ M^^]6?4/V)W6U"=Y7Z]5EWX:SZGY--X48T5HN#]O#YMBA_^SNZJ;OXVT_PMT- M0\^G.OC[OJ7Z14Y7/5E %[GJ+?CD0_;D0W943G?;CT2;:K>L M@ZKKY9??!''T=M3,CIK#*/WI.DI8D65OKCX]=XP=%NH1UL=0T D<>@$"*29"89HSDR1B)TQ@W1PL$Z[8]].?TZM ,'NG'B^"^;M;[ M5=#/D()/=3N<\'UO69!B\\0>-0Q#(=/QQ'+G MI9%/(/-)D)AFI?3)2ND+6^GKTXA$6^_XZ=9/7)>/<[E'?QWN^R_KW^IFN6Z/OWW\\?Y^ MF&^1?LNL7NUG%\;QD5N#EW(I!PI)I!B$B2F^:YX\EWA_O06ZK M_C+_U>"8UR2%"^VYJT$D9NZLOH:!JBV@:ARJ)B:TK41EU!WSC/]&3LPI PNCS)P:G^)J^\XA3VHN_D:$E&7.DB*)S2ZR(\\0 M..A!"*B:1*GI]E!X-O+ELU.8;$3 3XJ!G^*<)Z,=8E+P<15.[!#)P8DX:VBT M0YPD/%+$,W(CSR]GX>X$WF>C#0FMWK%#SN!P(O+-M\B;[>*<;/1SO$/A]'93BQ1_3UCAUG7^_8,>[K'<6I(C>H M&IUDC;<\$KK,(INZ6/UCAYR[Y+$CSYV/4 P%59,H-;WF1^$JYL95+WN[V)W< MUSU0M3FSR5#.RB@T[[I LW*HFH"J292:;D7%P9B;@P%O&S.;(!5629IS;[S= MA%1;0-7XA-80T(P2I:8[Z5DEHQOSO<#=8W=&[Y$,J39G-OMC6<:>31].KD)F MY5 U 563*#7=?XHC,C='U#]4AX]0^9_@IZ9:?JR;H%K^>EBWQQ+CKX.;\X:# MEGI"U>:,*O<\_C$=ATS+H6H"JB91:KKC%$UE/@6D+L=]M]T?=AWI.!M:)G%N M%C2X=\3;24BU!52-3VH/ (HL',38,_HQB&V90ULSZ#H.674+4%5(U#U<2$MI6HC+IC%!]F;CYLWZOY MVV'GOF? ;'Q:#G],TXRS82+$8L/C,IS8H3AD:1Z;GP84U3;A,!%TV;=$'A9G M3DX%AYD;#KMOU8PW.Y0,LW$R3(1$892S_G_S5@T92J)AZ%$(J)I$J>EK%14: MCE\:#5.VB6WL&A7F*IV9>]=\1WBHV@*JQB>UAX#FE"@UW5@*],9NT/NR]QS< MR;W7R$(I<4Q5/Z9%:=YS@&;E4#4!59,H-=V*BA3'+T**2=\1%-;\8)JY=\?; M3DBU!52-3VD. 4TI46JZEYXM[G=3WQ>XZ^#.Z#V602%P;$/@+"]8:L[%H%DY M5$U U21*3?>?8L#Q" /V@'>QS3;3-#8OF=P)O0T#9;U0-3ZI/00TIT2IZ791 MK#?^_/+:F"BO[2^>8FN:#L6[4+4%5(U#U01438[WEFX117AC-^']#'P7$R@Q ML:=!4.P+55M U3A434QJ78G*J;M&0=_8JP1X2MEO;(-)JMSZ%.9">$2(A?#& M93BQ0V2Y-1%'E%M34:YRZUCATM@+E_J66[O5O>>7-JJTNH= GF?*K-RG!BA^(H MC9/4/!V)5=U99)Z-U-+OI"B2,^76B2*FB9N8>JUI(UO>G<#WA$QLMFAV$!$2 MA6D8L[0P1M\%&4J>D-"C$% UB5+3+:+89_+2[).T#;'Z.L^-LV/FWC7?61=4 M;0%5XY/:0T!S2I2:;BQ%,A,WR7Q9J.Y.[CTN02EH0BQ]3\JB+')S (,"3JB: M@*I)E)KN145"DQ6(SR+S,8ZN& 9J50]4$5$VBU'2K*=Z:N'GK3;5Y_ 0\;R>B[I.5 MYK-2W&F\;0*MJH6J\4GM(: Y)4I--XD"Q5 LR)&S ?BPZ.'W/':?IRWW:TJPCH&ELC$/2IJ%"U M!52-3VD. 4TI46KZ6PD4&T]'JHD]JE-2FS2S)#?=XD[HZQ:HV@*JQB>UAX#F ME"@UW2Z*DZ=N3NZJ3DFIYX-&>689!,J[H6H+J!J'J@FHFASO+=TBBGBG;N+] M&=4IJ8V*+\V[).ZLWJZ!ENA"U3A434QH6XG*J#M&<>G4S:7=3UJ.2<<05:X% M,Q_X.4O'G^U*A%BWPL=E.+%#,2O*T%Q<1L1=FC=J)17$LC +\S,GIP*WJ1O< M3G_2,MWL4$B;VEC5ZAT[)(I"EN>A!3:H4/H^./0H!%1-HM1T?SQ[2Y4;K'Y> M84IJ@T2J,.44YCP;[1#[;!R5X<0.D84I1)Q=F$(%N0I34D4C4S>-_/+"%'<" M[Q/29HA6!]DAYPI3R%#ZA(121*B:1*GI%E$4,7531.>$FZIR+*/(?)J#.X7W MU E*$*%J'*HFH&H2I:8;29'&U'<%__,R5/K3WL9Z>1):5>/I^ I^(L2LV5V, MRW!BA^)^/+$(#1%WF9H))17%BKQ,SRSA3Q5]2[]D"?]XNT.7\*?C2_B)D(@E M99HD9AG#@@H],ZA#E_!#U21*37\/HX)NF6]!ZI3)=V;C)NJ:YQ3F.AV)$&N6 M-2[#B1TBKWF(./N:APIR7?-DBEEE;F;E];1ENN6A:]N^<[.H&H+J!J?U!X"FE.B MU'1C*;25^3QR%%W^ZT[N/2Y!ZS4SXF&D+(K#V"S_A:;E4#4!59,H-=V+BOUE M__.B37=&;P-"BS8SFP?&96A5GT.3 M)]:+Q:$%FAE!'$V+0*LNSQQE;GX,0LLN46IZWS][\_Q(V>7D,B>WD/>(@GT) MO0TTL[2_WK'*G*!I.51-0-4D2DWWE:*CV4B-Y<0RIXP@I1$S7^;K3N;M%B@G MA:KQ2>TAH#DE2DVWBN*?&>X5\AE5SYB9C^%Q)_2V"_0M\E U/JD]!#2G1*GI M=E$(-_O\=\EG1)5@%":1"<;=*;P- JV;A*IQJ)J JLGQWM(LDBN*F\-?*9\3 MD#,)S0FN.Z^O;Z!J"Z@:AZJ)2:TK43EUUR@:G?N^5O[Y(YU)_)S;B#FCQ#%=;-O^2]\N/M M#EU=GX^_5YX(B:*B_X\Q\Q*#"J6Q/_0H!%1-HM1T?R@ZF_\_Z:P[N;=]H'0V M)U:LEVE8FG0,FI5#U0143:+4="LJ.)N_")PE?4<40EKOBW+OCK>=D&H+J!J? MTAP"FE*BU'0O*=*:NTGK"X!^=T;OL0Q*<',;J"9AG">E.99!,2Y434#5)$I- M]Y^BO;D/[27M1)6&QID)Y-QYO'T"?1XI5(U/:Q !32I1:KI-%+S-?1;(.T9L%"GFA:GQ*L=2Z3PE-RZ%J JHF46J:TPJ%B@O<*ON">)YK M9#T5QIW0US%0M054C4]J#P'-*5%JNET4(RX^?Y5]0:W;SDJSK&[F3N%M$.@J M>Z@:AZH)J)H<[RW=(@IM%_!5]@6Q$CPV[SVYTWK;!EJ-#%7C4#4QI7$E*J7N M&86["]]U]J-+D0I[Y3NU!(P(,^]M$"'6K:=Q&4Z$D$O B#AB"1@5Y5H"5BB> M6[AY[A_7'5WM5U-Z^Z MZOK-?75;_U UM^M=&VSJ#[U\^,U Y)KU[=W3-]W^_NU%_^'PR[[K]MOCEW=U MM:J;(:#__8?]OOOCFZM>_V'??#SFN/XO4$L#!!0 ( /!):%&PO=V]R:W-H965T&ULK9UK;^,V&H7_BI M M%BU0U[KYELT$F(DD6T"[.VBVV\^*1,?:L257DI.9_OHE)<4RR=>,O3U?$E]> M/J3L8]X.2=V]EM67>L-88WW=;8OZP\VF:?:WXW&=;M@NJ7\J]ZS@[ZS+:ISK>)7EQ&-_?[9-G]LB:W_:?*_YL?*1D^8X5=5X65L76'VX^ M.K?QQ!8)VHC_Y.RU/GELB4MY*LLOXDFDIH]E-O?\ZS9?+B9WU@96R>';?-K^;IB_05- M!"\MMW7[UWKM8^T;*SW43;GK$_,2[/*B^Y]\[3^(DP2<0R=P^P2NFL _D\#K M$WB7)O#[!/ZE"29]@LFEUS#M$TPOS6'6)YBI":9G$LS[!/-+M@MK4_#O/"R'VQZ;B[^8\77/_4!89ER[++/ZH M+K=YEC3\R6/#_W%--[55KJV'I-Y8$?]=U-;WOQ7)(,D$?YSVI?C4E<(]4PK/^J4LFDUMA;PT&9$^,J=? MO)=^94[ON ; F'^DQ\_5??M4: '<_)?DHHG=\XF M#R[/W262AY?G3B6/_MJU+_]:X5?FY %+C86/+T_N&(3@'7]@7LOSSOW Q&]G MW?YVUE6YLW@S525-7CQW]7S>Y(S\P714GZ:*)O"VWBKD?.=.%-[L;OYR*D0IS9E-7#@N(,'Z]I6:3YEEE% M_SV+5U-1A1U$'X&W\E3]=4NI88*LP)"P D+D; ("5LB82LD+ ;!),5/CXJ? M&BNPQZ9,OXS$^"BSTG+'!XUU(H9=E(2-I&LEC(0%2%B(A$4=;')2@RYLWU>J M63W(<1Q?:2A6R'+%()BDN=E1=,/[(K.275DU^9]GA6?$72L\ M)"Q PD(D+)KIFK)M57AZT&2N-N[(4L4@F"2[^5%V?%#UXRW8X\Z MX2T['\_O*]&*-]]:+;(_#OE>] H(1HSN%:(2%B A(5(6#37-#92)+;40YRY MTA5=($A8@ M82$2%BWTVLU3I4?$N,J8:H4L5 R"2=)S[&%ZTS:*[W-5ON3MS/RZK*SRJ2ZW MK&%MQ5=OR]?1CK_-QS)Y\<)KP++Z1LY=&K.X5HM06@"EA5!:U-.D:LZ=.HH@ MR:B%HDAHP6(43=;DR92[8]3DS\<&^5"DI[/N]>&ISK,\.2-#(_5J&2)I 906 M0FE13SL5F*=.(RV)(%O5(+)4,8HF:] =-.@:-2BZAIT&L[S>E[QG*)IF40UV MTT%BJN_)U65%'Q,L7]K<4F50&T-*"V TD(H+>II4AVV\#3=Z5$S M;^:KLH.:$2B:++O!CG#,?L11=F+J^H55R1,?XK;UVBXI#NLD;0X5JT@I(B?Q M'Z"T $H+H;2HIYV*3*W9ED3,R%UHG3JHC8*BR4(M#( M\QQ5>%"# T63A3=8'([9X_B9)35[J^K:^J]L-F=:7JB] :4%4%H(I46.[E[, M?*T/2%@<$VTH"_4X4#19>8/+X"K..Z9*FI8' ML6J'CWM8_B*&/3^*13NDF*%>"I060&DAE!8YNE:>ZBM M@J+)JYL'7\4U^RIQ;YB<6;UJ3GVMY*"T $H+H;3(UVIJQ2)J-%\HDWT M0(L6HVBRX ;3Q#6;)I\KMD_R;.A96NF!#W2*IF_6215"'1,H+8#20B@M*3FHI0*E!5!:"*5% MKFZ6C*8\6%4=$>8X-CC@-= M"4)]%"@M@-)"*"UR=8=DI#DD2R**CV]5.P]:LAA%DT4W^"BNV4?I.GI%68PN MK?B@?@J4%D!I(906N815PH>R6C-,A/G.7!ML0"T5%$W6X&"IN)=8*KSKU^W/ M.[;%9R?ZS+RK-0@U5J"T$$J+7-TS&4W51G5)17GZ\:>>NCED2<8M[+FZQ+"/.]W0//$GME*[ MQD28X[F+DSA90(--X2Z,WIQZ^D&WP/2"W<,NU+. T@(H+832(BAM":6MH+08 M19-/]1@,$.^=C26'*MTD8JW751OJS-1K=0VE!5!:"*5%'F%Y^-ID#14U=U1? M!%JR&$63=3CX(MY[ODB9,I;]WSL\S?BK!0GU2*"T$$J+O'V1T)N="XYG:LV929LIGDXW:_2:S'AK$M*4.H<0*E!5!:"*5% M'F&*+-3^W9*(4I>$08L5HVBR$$_.W'K/-^%*K'.QX[AN1\NB3FP',HEXIR+/ MB/MDAEZM0>RA6]A3M[#';ND6B29 PD69V.HI32MHN6(431;A8*)X9A-%;IE! MV^S,>5ZM4:B_ J6%4%KDZ% M"'5X-Y[9O6F/.N2Z6[-*U*+B MI"6QDBRG!S]0QP9*"Z"T$$J+/,*)6:@[!(@@37G0W2DHFJR\P?;QS+M3E$G) M3H?[]@ P]I55:5Z?Z51"71\H+8#20B@M\O0=*/JF5")HIBV@@)8K1M'DHZH' MC\8W>S3'P4U[)DG&!SA/W\AN):5%,_M:+4)I 9060FF1KWLPGN]H>UB(,%V- MT)+%*)JLQL&I\" MWFM@SNYJ@4*=&R@MA-(BG]C=XDPT?1+FC:I.J'>#HLGJ'+P;W^S=B+HR8VG5 MKCG+KY4BU+V!T@(H+832(I\Z*,R=3]7^(Q4W<3TU;@4M78RBR8H<3!S?;.(\ MG%.@E336$WO.BT*TXL+MY@.IB99&7&@N MP]45DIZIOYBKF8;03"-?MS:(*UT284395M0EZ%J+B3!%0_*W/K@6OOFV)8^' M_7[;WI\LV0IG+=V6]:'JUF*E;]/(O!7K;@;(AYWDO+$/M3"@M !*"Z&T"$I; M0FDK*"U&T629#XZ(;]Z$DO7?OJ%R/#N),.G%J0W?Z5SO(?=O0UYT=^URTR\5:P1;LM8NA:TNH M4P*E!5!:"*5%/G'7$]]133HB2I,HU"I!T62)#E:);[9*V@%,>[)-=FAMNF;# M^A%+J\5FDU<9#Q M?UXTC)>!KCBAU@F4%D!I(906^;HKXFMW!R""IA.M$8=: M)RB:?%O(P3J9F*V3=V4ISI4]+JVMV/I0T#=^-N=SK2ZAM !*"Z&TJ*=)4Q/J M";)+(LAQU'WYT'+%*%JGR_')GT-Y MY?5/SFWH$*]'SNV2>GWEW,;MZ^,AV_N[??+,?DFJY[RH>0=@S8M@_S3CO_I* M]"/>GC3EOKV?^E/9-.6N?;AA2<8J$<#?7Y=E\_9$9/!:5E_:R[S_'U!+ P04 M " #P26A7\H@65^8" !3"P & 'AL+W=O6IO3L$<*GJ48S2E@19Y#^C9 &=GV M#=O8+3RFJX3+!3/LK>$*+1!_6L^IF)FU2YSF"+.48$#1LF_Y&06]PU+;@AE*.+2 8J_#;I'62:-Q#;^5IY&'5*"^^.=^UCE M+G)YA@S=D^Q/&O.D;[0-$*,E+#+^2+935.73DGX1R9CZ!=M2VVH9("H8)WD% MBQWD*2[_X6MU'_8 ^Q3@5(!S#'@G +<"W*: 5P%>4Z!5 :VF@%\!?E,@J("@ MZ5UJ5T"[:81.!714.93/3SW\(>0P[%&R!52JA9L(#YZSA JUO@6M] M!8[EN)K]W)_'OQ?X+#X\CS] *G#[)#YJOGE'@X^;;UZ'3YIO7H=/_^_.SSZ< M^T$AN/4;X"H_]R-O@*[02SM/;R?/IBY;PPCU#7'X,$0WR @_?[)]ZYNNRBYI M-KRDV>B29N-+FDTN:3:]I-GL0F8'=>S5=>R=[ MI86O+&0;M EO;+_C!CUSLU^5.IGEV=ZA;*B3V8'O',I&&IG3\EW_4#;6R]KN MH6RBDP5!YT@VUJ/6,@(@7FY:>F7JT[ MP#O5^!RM#^SNQ-:L3T7'6#9X[_9ENRF^MJL4,Y"AI0AEW0:BDZ!E"U=..%FK M\_V9<-$MJ&$BNEY$I4!<7Q+"=Q,9H.ZCPW]02P,$% @ \$EH5RQ5OY\K M P "@< !@ !X;"]W;W)KV4]M_O[ 3*-,JT+^"S[YY[[K'O MTE\K_6Q21 MO>2;-($BM+2["T"0IYLRT5(&23I9*Y\R2J5>A*30R[H/R+(RC MZ#3,F9#!L._WGO2PKTJ;"8E/&DR9YTR_7V&FUH.@'6PVIF*56K<1#OL%6^$, M[8_B29,5;E&XR%$:H21H7 Z"4?OBJNO\O<-/@6NSLP97R4*I9V>,^2"('"', M,+$.@='?*UYCECD@HO%28P;;E"YP=[U!O_.U4RT+9O!:9;\$M^D@. N XY*5 MF9VJ]3W6]9PXO$1EQO_"NO+MD'-2&JOR.I@8Y$)6_^RMUF$GX"SZ)""N V+/ MNTKD6=XPRX9]K=:@G3>AN84OU4<3.2'=ILFQ?U15H=S^HZYL+4[ $ M!P$UAD']BL'PZY?V:71Y@')W2[E["'TX81:U8!G,4><&U'+?7>TC?1AV/+^= MP$D+'N?WMU,8/]S!XW0RFH\?'Z#!FJ1'U?!5[[V40B,'JV"!P(5),F7(%M15 M=%HH;8'\7)O V?$WX*5V_&R*4!!WQ2%1K^@02&F;"E.YMJ/C[R1^:4$J6^,@ M;\&#D@B-11/N2BV%23V0V$?(79S%'+I1KY$T&YVFDV>*JS*K'&=$IN%NHG<9 MQ^N $N: .W+QR."(YB!+!JU*3VIH&F-)T\YKVEB)!6C.N*(Z[/2J"Y@)S M%H-@6F9(PBY.CMM@ZW?"/MY)X"("PC_^A^-1 (PXLB3U"8 4HUE';\C?^D:& MOS5H[7OQX2M#*L*/^T6RM+L],N4/E:HG0.=+Y6R&\,EV'[^AK\!4$L#!!0 ( M /!):%&PO=V]R:W-H965T&UL ME5=;;]LV%/XKA 84">#XEO2R-@G@I.N6 FV,NFD?ACW0TK'%A2)5DK+B_?I] MYTAVDJ(-MH?6$G4NWW>NS&GKPVTLB9*ZJZR+9UF94OUZ-(IY296.0U^3PY>5 M#Y5.> WK4:P#Z4*4*CN:CL)#T;GI[5>TX+233T/>!OMK12F(A>-=RK0ZBR;35Y?G+"\"'PQ MU,8'SXJ9++V_Y9>KXBP;,R"RE">VH/&SH4NRE@T!QK?>9K9WR8H/GW?6WPEW M<%GJ2)?>?C5%*L^R5YDJ:*4;FS[Y]@_J^3QG>[FW4?Y7;2\[SE3>Q.2K7AD( M*N.Z7WW7Q^&_*$Q[A:G@[AP)RK#I*,,XBH[PW=-$9FO[$T*_J@W>IC.HW5U#Q6'\$ M4'MDTQVRB^F3!A=4#]7Q>*"FX^GQ$_:.]TR/Q=[Q3^Q=A[5VYA_-5 ?JTKOH MK2ET5QNN4/- D5S2NU"\,TZ[W&BK%C@D%&**ZL_9,J: 4OKK1Q'J )S\& "W MU^M8ZYS.LII]A0UEY\]^F;P8OWF"WLF>WLE3UO]/(I\V-!FJG]A2[SY?JH6W M.@S4E)F\&N^.6OC_Q3=@?^; [;6)_>*A: M'=7*-UQ&RCBD?_)2$F0B7G,?:A^0#_G&_B-GAV&^):M;'6@(<&I6!V.Y="8# MU9+*@&[ZED.U5=2P*JT M6G>Z=? ;PWI@$CG&["J_Q4'<1I1?'&!PUN#.))9;E@=%2IBDD%^E5JP!^$;; MAHYTP>$CMT;F.G9<<":G..Q2^+UY5?D-]9Z12+(1#()OUB5&N9 I]%8EKWC2 M)_SC2'K42 7P'DAVK1.0!IZT+"LQ:-!N> @$U$@@5D=D//Q-5\ASNJ=,CL): MN!5-SLE*"%#WR3@DVEKQ,537R Z<@AV\/V;"=9(W(0"0W0(MIP2F[I/RQ6^Q M;C#, X?+Z8K409^A_M.N%%$ZI+ MN-]!> _(VZ;#BXK$/ .Z)8Y1E5.I2NT<^#-1QH6P"N]=V\WQB]P-Q+?#?L,K MLE0T .U; M/NE$[@&@(ASG.#)5XF;A\<%<<=$)]T3Q(E<>I(<)0\"$WFM!M?5;60B26?2: MZ;9*NXNU2J0KUD,94JN7EA[4]@JS%.)(B-(;;:Q\!AI -0@+IYOC*S!PI[$% MK@088=;("D+\H@%DJ[?H3$R%%!K. 1JAH&C6@%$;-DA14BO#C/L/&:<"+O/@ M8^Q:L^OV/DD%;7!'JYF7*.58D6*;0Y)OG8#=)2,V9(. DN8,9F&4UA-(9&W"D!OM%8RZ@BS=L%GT5[ 8ZE MFJV"R?7]T'0*^SBLF=X:>Q(2>0<*+B-?RC#U]@OB?5/5J&)4-$^-B]TR6_!1 M4T=U\/[Z8G&H9GD:JIO]E.!#/I.DRB62B]Q+ \CHX@+C$7N72%85*."J*L%" M[1@OT@6&X18%PH,28*6+ XIB8R(W89[O&S"!K0[(#Q]PC#!W,%R)":721WH@ MHNO:RBS&!MAP^7;L$<[ACVX2HP?70PZ;7((Q)-EW=U/GDOWEW2 ML>$0]:@LK: Z'KY\GJG077R[E^1KN6PN?<+551ZY2"BP +ZOO$^[%W:P_^OC M_%]02P,$% @ \$EH5T:K^-KO*P 884 !D !X;"]W;W)K&ULK7UKD]M&DNU?0?0^1HI@4^J6Y+$E61%MV9[UKCW65=OC MB=C8#T6@2,(" 1H%=*O]ZV^>?%050+(E>?QAQBT2J&=6YLF3F<67MUW_+FR] M'XKWNZ8-7YYMAV'__-&C4&[]SH5EM_73Y M^/%GCW:N;L]>O>3/WO2O7G;CT-2M?],78=SM7'_WE6^ZVR_/+L[L@[?U9CO@ M@T>O7N[=QE_[X>?]FY[^]2BV4M4[WX:Z:XO>K[\\N[IX_M53/,\/_*/VMR'[ MN\!,5EWW#O_XKOKR[#$&Y!M?#FC!T7]N_&O?-&B(AO&;MGD6N\2+^=_6^K<\ M=YK+R@7_NFM^J:MA^^79YV=%Y==N;(:WW>U_>9W/,[17=DW@_R]NY=FG3\Z* M<@Q#M].7:02[NI7_NO>Z#MD+GS\^\<*EOG#)XY:.>)1?N\&]>MEWMT6/IZDU M_,%3Y;=I<'6+3;D>>OJVIO>&5]>R&46W+D*]:>MU7;IVH,4JN[$=ZG93[+NF M+FL?7CX:J#^\]:C4MK^2MB]/M/U%\4/7#MM0?--6OIJ^_XC&&0=[:8/]ZO+> M!J_]?ED\>;PH+A]?/KFGO2=Q\D^XO2WJ\/1R@YV'O2O_E&9V0X/L;?_;J/__MXK/'+^X9[=,XVJ?WM?XO;M7];5\N MBX]OOOC*A3K@09YE.S@Y8&U%']1M6>\;SU^771OHG4J^_VGKN;7=WK5W:&]L MW5C5@Z_P8$4'7?[25^@?Z[IUU)QKBD!]>-(%0RBH@V:L?#%0<]0]G3[N"_]\ M+6WS2&KZ^';;-0W-Z+:EQL*X"G55NQXSP!-;=^.+E?^=VB4;7&# /[&KG>UK*XL%__MOGEY>/ M7_R\O%X6?[NZ>L/_OGCQL"#52F\/]-CN^)1Y9<<^C-B0H2N@CXJ+Q^?_C[^Y MZH>Z;#Q]@.[>^LW8R()?G_]S67PGP^KV=8O/Z(F=:TG=HN5%05,H7/4KZ1GI MB;YV10MUU]#BEF/?8^*M&\;>9PNV<[P!CL2#/L>>U97' K:^]"% C# I5ZQ= MW:>9H/EN[+-)[KM0B_!PW]=8RMW*]_&4+WB*7U.S\O$%?WRYX':R[2,*0_;WGM^O25I+W:BBSQTT9&.^$%I&G^A^=*%;;$FLY7:_*26EBSR)V1[ MY1H6,C&],OV#:=*2!UEQ6EZR7G0D^FZ7RSJ$Z.*O+TA&TE'ZP %:C4-1=22< M;3?$TP1!J.I0-EV@K0ZTM+^--79T=?>G'8%E\:/L$C5D6_='-XO$#L,W>:MI M&'5;42^'P@IT3>"ITQOYDLOQX\GQ'L3UY4F M3%_3^7=M.]*>'MW=^W195#W9<+M=/0R98 5_OR[*]1"O\=CH>O11\T2%? T5 M0@=79': M']J;%'W>\X?09R6Z@%:%^2WZ 3BPM[T)/(+J .+)$RDOT.F%GZIV-PK\7EY]_ MOGQ, +=I/FP->!2NV-:$C@6PL*8FET.5-40Y&81E\;7,V18\G%CQBYD-^&B% MORANL385S>/BR>7R"YO'@CYX]G3Y+,VKQ3-//UL^C1_Q&D$ET3(V=XN/F,W5 MR<6)HWARD74:6VSIV[;"H#Y[EHV OH?GA!4JW;X>7$/3W^_[[GU-&HH&A1>> MIEGAA=[#X=-77 GQ<#>N;MR*@ B$>STR9 A.H2#;4SKU]#KM6OF.3C.9-/[X MZJ6P*4INL^GD(;7%%UK*Q[7DJ:&#>H.J0 *P4M0[TF\"BLKOQ+;0M M%!$&1%L,VQ?-,VEA/0[4<[T;=T5C!W8AP$QF.!,"7L*32[20,WEQ^>S@3'I7 M;HO?1M?37'$@2!PK&2M,UN*>DZO"20-U,"\R3?:TH-FZ55-O9.786I>LM76: MQT41C=P6^Y"6\\8)?37ZEY9J #ALC>O6JV6\=(1+OF\5)(3MC*:.A M?B,-[_RP[:JL_3/9PY_O-EN2'M+F)37PO:,%+-[TGG:*QW]5#L6#LY^__?[- M%4G&+?6V=R$(E&)X!"O\NFLW/70T*V+RM]B,T$@;=XL'J3U@:IK35_@/]BVJ M*ZPFU)6.!AT5-$(Z>S6A28A2[VGN Q]&N&CC;I]6%D.H=[ C*J@$^0G:;+JN M"K1+)%WT'R<^19"S1O -AIM BH>8>=(A=/BJL<1?-/ED6F@6YG3QDA(4&"D>LU;Q]] M,D7R M*,-\"C$<$XRP>]/E_CV3)+J/_-+', MK;]5( ?=+5!@1^O9F*CXW@#0#7@QK" -2$$:'[>Z'062,F M#1^<,9#F";^N>X)/IF>^RY\CV8"*;UR]"_DZD%;V&V"UR:OT*,^)+$M=D> 8 M(F0_CU A67)\5(T,W1^<77W]Z/4_OH;\W=G:IR/?!T;5>N:N2?:VWH6!< IM MJ339RR%D".C7:\!A&EOEQ6#ZN(&T(3@XTD7IFX:E[E$7]UJ8!Y:I+OB#SEIU M/\BNL>K!%M<;-LF0-2 IT2- RGS&:!AI:7BS9:[%P-I 1(*/SF QFXVZVZJG:+ MX@?R0N\"_OII"\REYOP?M1]:PE!K>-+\BNV)[B,.T^531;/@?CH "ARX3DU@ M"?D@J8)]%)L$$2+WOA$'@^=2=3O(7:DJUP2*="%VM_7]AN;DRVW;-=VFAH*[ M9K?@\O$%K2&I#68UXJJU(QLUH% :"AD/=K-H4[UL$>3OE[<_DO!5! 78=2>% MO!;CV[#QI2GRMBX43F'9Z960W@#"9D:3^8I!@@$"'J)=(FU&,DG33(-D?(2] MXM9$9+&@LE'D[/F&U4]-U@'/D_KO1Z9"HMJ01^N6['.CO)SI0NROXRXR4)/K M3GI6<30M]:\TD\ :%\)M5"QO?LY!B%X7IS303M&0R;& _X!=77MA]*P]$@UO M5FG2\UIF1WITOV_N5#F$(:F+&Q0VR2YB@4#1 03L:''0'8YXHR-&OD)89"%-CO#'12XX<&QN: M!"8'][XH!:X_./ONI]=G#S/KJ')NZVC+PJ<^X-6]DX/>T5JN89.I]5J[7OL* MU!G&B1U"1V3^5!V <(LG=P\;TPYN8YQ6W?,^(!)5AR**H@['W/9]XTH5 ?;Q MQ2I/4R;I]UZY5*M]Z.\R*@$3;_3G8]6K<$+XI+J(2];1 [$ZC#?]^ M$-^:F<"X[-*!Z"9\NJ)9KOGCZ&K"TA_;C^B_3Y='A)F 6MTN"]K2"6]G@^!- M!MZ+C0U;@BV;+11'P];F\O&3RX)]:5+IRAUV(D!-5R98%3=?BS&!%U2-B2DK "4TC%Y.2E'#/)-O*#[>8&.'8_^#& MGM$?BC:GYAN(2A6DV5Y"9%TKO!>CV5OPFIM:UYQQ1J[_)YL6F.DA)=2WP@ZI M@J&1TJKGV#6G# 7JD5!#BM IS9NPX_(W?QSE",C(W'HM&EX% M5+Z!.=*US&<"G&[@;R%[3(,-XA7N.D! >:@N^^Z<,.H^L+=XZQ$F"<+X)B#* M?0&Y,P]G:CTZ[](6DZF"2\0Q79/F-DX:#CHUJAA9Q7,"494L-'UORB>"=G+_^\1_??4U.5<''GA98Z3N89.F&]-&1YE<"81"\ M0:2=!S_%(ULW:EO\5@\,P6 ! R;/J6Y;I4*8K<6(SO,1(3#",Q :L_=T/!0# M80KQ.1WNU];O>B1#25X#K^*VNR73U2^B4Z0^$4&:&R?D]4X(^A/-3OF4.,JP M'8>JNVU#1#MDN]F6L\G%;!D:D64HWQ'P8K+F/5;3Y- 6A'K#!V(16AP2$+XD M[,)S)Y2\X!7A8Y)ZSQ9(U*;+S -> SS90(!:M&> A>7/QJ!B[>U?F=WO8H2( MCA/M6%A&WGEP[SS80[]GLRH61 \(=1=JTJ!H8DIT0P/3!#&_+.PK,4_%+ 2X M1,?ZN!G)R.W-=POP##$):BB$"87D/F] M@TY4ANP&6*8B5:R#FPH];\X>7G@W!FH>&&:#3IB/2YL(7$6*0K^V788"S1XB MC2;J4D>>I$%5F; -#'MEJQ1S74K\(1-P\BGJ07WU@XGR]&_KIIF\0L>A&;&T MF"4<-EK7&UI)\$&G=H3\Q!;\"WVJ_FVW'^H=S8M;.:Z?IP>*5_!;O^I'1*GY M[% SB;",9"7Y3&QQF$YC?_HA&PU!- LLYA0 F:Q-D[K'6N^,0;(XM%32!>LTAKO&#%PY^%;CWB('4\C2B[\N"3@* MVR"KDT=%SSC]8!Z%S+)NK@<:*W45"%-6[)\IYW%U#;A]^?C9^=/'B^)O'7/Q M'1R4-IT3DZ J\@<#TU'J8^16F,G9L,A3%53HW6:#Z<+K$QM&YCAXSA890(_0 M4:ZZ<46'? 56#>N:(; MXC;3^=O6C<^(L@D%)\;@- W'2[@B0.=O-(T#*#\Y&1_V"B84.JW,#2T?_*C> M"PG+>@".IX1BTCC<#B!#_6=%Q,C/Z5944D4=S$V_B"/L5>VK&< U9/ MB-'*Y.K[(>?IZ9Y$H28KLM!A.D.6$S3+'@4O&F"Q68^692A/53KP4\BRD'7J M[W@>A/$(/G?=NTE:EIA!5<>+$ZXU+&8\X/D;I.% [%05NW&2*E'F&'8+WI"< MB!"520;75%FS2VZN$6/3SC@O/?_/);#_V8N(QG>L9&-$,$C<+64D%8,G;YUS M-D6_(P%@TR4TCSZ!H.C,R(Y5*;8;@$9AX)NU22KFZRWK -NM,:.\B1=QE'Q" MIB-<=9 _^H=02>PAD,*0P?'Z'FD1O=+A&N,J'1LQMB%US0<2UE:-1QD318S* MF+2Q=W?1K@"H^QTSBUXH 0ZPDK:/")P'D1"P0F+?5G;@=>DLL*>K-QF>'6VL M"N+%S, Q6S&)Q'Y.SF:=!:N2RF"P)M[\%_*0)/[4_;SCZ;H(.P[BCFSW[SC8 M[3ELJ"AG>EV#&,I7"/5!@DVV3XFQ+M'39)YNX.T9HI'3IRR;";;8.V<^8XY: MF$+C(91(;"F9Q1'V_L:'R;@U68*_Y 0;DA3.QM"P+ \%_Y:# M022&IF@R@KUDR QERV03M2S149IQU]RHA> \H!N+$-4[[$Q)Q],GNM88)O 9 M8 %):\'B5:(D2U_?@&$Y,B62->J=H9$*M[6KSD,V^OGRM728>3T,'54FRAP\ M5ZV_ZN;KP V96QM1?*"G2T12[!O&ARV=3@6'*Z4 :(K!(=XTG4[C2''C_3 ^GS147;^:I,%TS2C*+NO,6:'1LDW:&9>RY' \*HYA1OQQV%RF#[WH^B9P" M+IROZV870P <#!E7;/2H63;ULT/I2@DE!3\,8N5$0?%?O)K?OOZG1:"^__[U MY'!:*-#@G@/Y$DB?D:E#X-)M'(8/"6,,K'9%PTQ,$@]BA-7\H,V8<(78,A[#X5(R;>R#;VZ\^B8$0L6DO-#L#=%9AS-F9'/+(%"I M*H7QAPDH&>_F"NQ6%H'.FE;QG*PZ!Z%BI$ZD%W$2259PQ=-GI-\$U9"S)>2, M9_]WEHAPVE?5Y&/PC;P@3%(5:[>""28S9(J!W2K?;AE>,^@W5F+B@+)^@-AJ MWLN>X1GJ"0LF3PWVVR-_4$3Y\P:]EVYPK+J<)6EB[AC ).YZ:7*)J)@OB ML*.F.?":DF) R=?FJ?!,9=_6K$HJ3VY&Q"CDN&:Q,99*1G"*MC-:)9NE\N'9&&5!HTX/TSY2/H_BXIL!!,=*MC1CQO/Y8X M.U;#Z03\8RYV(ALE0X7+1DHP-N)(^'(<RR4/=&5B\HI,2BG M)$&R1MDMA[(Q]S??A*XDLR&\I"[EXH@NEH8X0:GN6$5FY(MXHCNR9M!T>2*^ M=+3(RR&0H7X8!R1K6V59'*76*' ZP*YCVHD!=3L(LRAG$0OWH'Z(,PI0&)+N M^V!^V()>I#=)EO\" \W.N^6R14F1@=.#].0D,HF@%OK52:)OS&QC,T!2B(Q" /3MN\L9DAI/7\;11]$?5G M-/.9$5GYN\YR^P_L&*M9+10:6W,A#-^1,(.)[Z<).W$FG ' 3NS:W9#0F ,2 M.%$58:*FF24,9)E LMY)!$^M"PD;C:;)R^D,!V6S-$V;4=4)!=^H+W(0"\;^ MQ,RM.TD0R5H09OSHU&56S+009O4]PA@J.RE%%PQ#7?F$Z>%+-WF@8^?*OI.8 M,N*JVH %ZJ4Y M;$IW3'"TN2K?I+D*":G!>=>4HY$NS$P[&S5[KD"EQJ-/&*M)$A07CD:&G.-M M#;"S.=V2MY"0;$5/5ZC(R(.3J3I#.39+W672R(!_QY" S.3OPK7K_!>VF?PP M7!*IH>0Y2GZ=EH]Q/@I]?[[K;BPEN5O1Y/P@F7DMS.EBTCLM%\&PHF'P3;. MW3]ON%8VVU &%+K,E50E(WBH.XI48GV8:['IJ-;]SF1"CY1L<#85EH1)2PG7 M(KV(N8H):^]N$>M<6 3[;BIG #2:&,@+,7"4T+WWDU@P,JTD[AFSC'DY)]YK M-"8BVV6M,;$59]7",D:1@_.;0CL04X)_V'/AZP<"*'LGTLSN !VB'JI>EL-" MUNK,S8]IAB&E:LF%3LQJHO$D_1J264YGFK?F@I@PYA EF+N$:S%F?HIBMGH- MAEZ1$78VS5637?LZJ').^)M7B"/,J$F*"D[$$R\4WT[,0S]J_(6CI]T@T8CF M+M&UJ2!4H4IJ.LS;E@(6&B47,K,?*(F]I1RMQ,?S-@JT)%!=H HO!<9B>3(K M6MN;$W:-1^[?EPSA1.ZXYC@P%ZV'6E* (O,?I0,EL/'4AM"5$N,PQP/G*6D% MJ,Y9*%-H$W:J>1Y<1LD*!!)=0O*G,[)D1ME>',T3TUIQ4$>CK.GXJ@1-M7>R M_2GZ;EG\O4L%(9;9"P_M^/,ROJ+E='_<;_$?7&W6 M]1%#ZM"6Q0]9?F,6-4JI\UEJP4+M):O\//O MYL:I B[)4C5&7N-+PA"P['7 M>BRM6/_F3:Q8C^6,$?-*V@Z_O!IKTDU'4Y59!(:[O18G]/!@H-F+@%L ,@HX MVV&&0+)W>M$&-;SQ>1@C3Z+GHDU!&]$S.!'N ]S)'^<2S]>FD/A,0HS) K'Z M^R7=_L%Q:*1]0A*X!C6WAV!0RBV?38ELM%::TR"7=>RU.$ON@5!6D6;6<((" M9U#..T^W*=B^ST=GEUN0=P(.09*S"/SNZ]V.CC%4 M(AUG+Q91KQ8A','$BB 0(;-FTTN3S^+T(0_ M15-;3]+\X'M.\+D $15"S-YZ*("KH^EYKHC_?'F1BHB'4Q>F_'MQF1>ETX.' M%R+H;1S8)]5%77MDUZ$E!OO7J4UGB,39JC>HQ SMP<=B1V M^]YO<5V9WH>PM$RW7+TNN+.?F/Z9*UV@Y[Z2E&6$1>LR-\0ZR/L ]$)K!CAN MO/*NCU-B)9-N;-%'K+PZV:,4;XC:YD7B3?,LA"EJN_7*#4F#!-@')?ID@(L( M2:VG14XDQ(/$)\15-^QU6)*+$A$V\2..0YW9?8Y^U6O/D>;(_&7/S\U$M()< M ":0X<.MY#FBT+]HF(E"C8!*K36YLD%J8TQ-"K8\#;EC:&'*OSD]OW0X.5?1 M.!$=T6^C8Y9&J%ZA@R*/$LM<,X(S7HFCGK2+R_&726D*[<$2A<@W=8@QF)G3 MUOMTWIBLC"47*@#K%2TZQ7="HKS>92QW=5LB#1E#;.$]Z!4=S3#5CQU3(SJ! /7585%[,8D\_-=*!,%I]'0VFHTX! MD!1_AA'JBS.]?G#+2LX3X03M)7/^VR.IN4I.KIGRY[BU::G91@5-7S*X#F]>_LO+'=6(@AEPQR;#E'C!FY MK.L^#.=UN]"_@'ZY8&V"0G7E(NZ1@(N8Z30Z3MJ3/9_2 7'E))<_)&LH0T+V M2?3XCTU J0R:\)UB7BU'KA1P"/;@_+D.*O2[Q NP$X8!\](?<@Z1\V1+*0RY MGY,+Z!Z*51U:++1D*@IOEFO80B^WTHS6(3?^8B%B0)I!+<1$C("%:7C>=F$" M%CD2)^M(>3/>R:IVK,K ]!\MP5HT3S8+'5D7X38?Q8/:>B'C#6O%R?RA>;#N M/:P>EYL1;%S(D(L4:YZFJM%6>GK$?0U2\YX5JJKO58?I4+*S$095"]A0A1.H M=R0,Q,N<%:ORK'G=3H]N(9E<1IVI,;'D9/-XRU31=VS9C.6:/"P7@=85P">RTURJU9D@&G8^%9\C$(ZPH/:.LI<5KFC2K8"3 54(V*\5"$ M(RPAK($"6='M\>CB$B,M/;'L *29MGI-TDV"_YF)%@D)4JN7+EQ$>R1T-$S7 M2!X.VW$,X3B#EVQ6I)@SNO(^W3UU#KK^. '*2BY]$W4G;#;C;5)(7/9I@Q3S M,?O8_CL0RPQ MY/CR#GXN $%WHRRB6N%8))UFE!/$BPP#7RZ?89Y/EH_E4K"%5DL)3]X[X(;S MAM.:&-$)'907+=4'J_#G*/BC.O%XAQ_0\[(6$XK\HU7]W[JNXA/V2ZZ<-O:I MQN,2'.-=4"=??,BT.Z>I=Q\UYY2PGS#CI::$< MC0 *J(L"%E(C!W[^O^2I__=8\56)D]*W#/S'-9 9,T/F3VU.O-/-U#>:>T6-G8E.QWA,/?_I&O,X%[('\?43N1"=:TF-UT!>V1--SG59_,_^6=O;! M%"$PSH-HS.]IU!(H&<9#'E5LIE4-,&IZ;HE!S^6>;H?G\CF\R.7>U# M4!&Y%=7J V:&UI M#\ASX94#9D,>2M#J4XXT]DPM#7=[G_=SD&'&,)--0GX#,B[4!X M46X;79H)[?66*"%3Q+6-EC$&A6.J@)6N8(%OIM1[Q@)') MC:WGH7S.3N+1*2$8PXDZM8(97[T;1&+ N-0^O&"R/[9I'RN+F2YALTM%4JSC M"M!!KWS,9Y]="BD5Z>JXL8=E_=A=%Z*KE]V%;M6C!\NLD)I1;S1I,MTD[<8]%H"*)\^AUG+XAJI">>B3R<)"A.H M-_G&*'&.-C6:DZ=-6 67I#>P.Y;'\241PNHEL(9OKW]&9#G7Y_7T\JUB5I&SUU>4DG,W8B4L?^J/#2IN\0;1HDSJ/M1_ MY#4G.5SI4F&Y#'4EGN)::]NMX$&UP^G3+V(ZF=)LX'& ED4P&UY&&*DN2PE- M?&Q4>P2]RA];\101S:<^:G93R<<1QTY&2_80DI<#)X$WRLG@VSVP1B7N!:K\;G>!()@VY=7$^#9/8!KRK\EWB) M*&JI.-R3KI;*$BORVT2XXHE+!W1WTQNL',C$EWW-^EFG[^$C[=FNR4HDE2V> M"YRHUEDPS>IP<^! _;=^=OO__/):5S;/F2'8D':7;X!"QBR8%5"#,* M6+14DUKO,PDLJ*DS[5NPLXC0XN->L8* 0T<)W@= M5RF&TKC 8L_AOY!7S=K2Z;*;3M7^TZ"N#[=%$C4LB5NS+>Z*<5\)6!KWK 4Y M(0T7<;R/%R^G+5].\8M)*&M#FM:NQJ[Q)&*I9B] MQ^N#>2ZHLF:BE*]-%*]X*V)^445V$Q/*5N46L>S0L4=^?-(6A,WGG8.?"8BV98_+6\N- MFQQBGB1$V#J+0IF,1@K+1#&F@I&(3C@NI4GQMYKX&7F<>(D5V0)+).M"E;?@HZAL>6"E]H^:&X'4[UO3A_)<%L]'W3R>Q'65/K\=0MD,(4$1*_[=QF:CGEQN+AMP M=]\J.[WSKXQVA*L6ZXAY99_8FT21%N.UX/6/[GS#$G(')4@-VNF9)$5X_ F] MOA2SW;E?NYAZ[*PL9 (-C5IVIC;CM74Z\EH\I5BPG5 MD.8M51WN*N)"[J-F]1Y4*0AI,H2I[$3SJ[A!3(2D [ID47[:)IS+NWKOQ&,& MS 'Y@JS5B&YBYB)?P"?)E[%A 7O&M&::7.=5PV MTPBZHN[LFL39\.0R*_:I#,&,<@+0(X^TU@LA,7U.9#HTWK$!'2XS7O8K90?V MY%ZQ^3#-8V?E@RAJ^DM=QX8QLVIO$[^5+0-C87Y#B*@CRQ*YP;S[%(J=B,/4 M,YGF3/./NXG'A9P*LY\+$1DF9C/JP(3!2FY)%HZGI[&0,O.YJY>X$V Z8.PW9L3L2=:FF;M53 M#V3F!6N#>INHU55&;Q[6U_S(-)-%G(&! B5:CSULN6/X#:/AB"Z )N#+>W#9 MU!'TXB;&!/JK#YP^,',%LA^,/)+K'M8:GIJ3)/)HC) 3 MC/E^Q$I_+R0S_-.<;>7!K"#G1.O[E!*O.>]LC\HQA/*'F>2;OV,2&)(?70(5J9V#.'Q8JHK*#8K9H0E:?Q$ M[N[>X\_QJZZK'DBZAVH#_.M '_PRG^(G3RYES,V66]+OY:K&F]/E_I:,GV>1 MQ1*7+@SG^V:TN\2.Y-]L75^!YUW(#Y78=3="%T'@<#V^I"YD2?@:7CLQHOL, M[>*3X.)1G_!>,YV*C_2OI? MW]W2__-OIW_M!O?J)9VLC7_-OY;&R/W+LXNS[%.P]E^>75T\O[H\>T1OIL=? MO=R[C?]![LTK&K^F5Q\O__KL3.A5^\?0[=$DKJ8E2>0_(>6^QP/T_;KK!OL' M.@"AQ,-[]?\!4$L#!!0 ( /!):%>L2\: D0< *P1 9 >&PO=V]R M:W-H965T3$)14:/#V+5D\6;N?*,C;OUB$EI/NI1-33V93:D&W%']K M;SSN)ALKI6G(!N.L\C2_R*Z.7[\]Y?6RX).A5=BZ5NQ)[MQGOOFIO,BF#(AJ M*B);T/BWI&NJ:S8$&%]ZF]GF2-ZX?3U8_UY\AR^Y#G3MZM]-&:N+[&6F2IKK MKHZ_NM6/U/MSQO8*5P?YJU9I[=F+3!5=B*[I-P-!8VSZK^_[.&QM>#D]L&'6 M;Y@)[G20H'RGH[X\]VZE/*^&-;X05V4WP!G+2;F-'F\-]L7+]U\Z$]>JH5BY M4AF[I! 1\W@^B;#.:R9%;^EMLC0[8.F5^NALK()Z;TLJ=_=/@&H#;39 >SM[ MTN MM6-U,AVIV71V\H2]DXVK)V+OY&E7/R97?]JX&I2VI?K9&1O5)]QWGH+Z M[U4>H@=G_O=8)-)!IX\?Q'7T.K2ZH(L,A1+(+RF[_/:KXQ?3-T^X<;IQX_0I MZW\K8T]:>ASGR5@=.D']8M7WE/L.U:M>I;R,U(H4WI$G7AJ=TJHVC8FXK8W. M3TVJZ57G@B,744*U+9AP_7ZFIXECT#]V.E[K2I.JW^C8I^;\DOUNKH MKM*F1I:>J6LW'JD/=^_449;69<]&?"3TR-B%"I&H5G.=>U/HZ+RD5EM%]R9$ M7K D6SH_DN?OKO[S20'"2$'<% ,JH&LB%FZNKNJVTNI6##+.HVSK23KU'=5Z MI3T]X3%*@9'@'4+3>E=VQ0-.7N0L4W"$V!5U)SX ]I>.5.QR"@E:%\7H\U#H MFE1PM?9LZP\H6QBK.P#?!CO7A2Q':BI35,H$5;N$ :H<3$GLWH^.Q<7B7'5+ MNL;J.[K7#"0@6BU,)\PY+; $2!ORA=%U[X1$"2\X:G/7>>3M"W@!'K!Q9L98 M_;[/#&2YE.Q;-U;';#WN8=\AQ X=MA.FE,-R) M D=GCR+??O5R=OS=FX!(6=&-C@WGM5D(H<(0*UJR8[$"M&V_2P?-L0Y6/2> MKW2.7 \ 0H=$;E#,O6N4P85;"1[$O\#^(P8QF[ZY1L1-5+==VSH?U4V_3=X> MOWDV5E<@IE@\L!(QJFMD7D6N!Z1/PR_=FJCKY)_)N^15OA:OAH #[I97HQ1K M+H.T0,T[*Q1O'(H&0;#BA4?C8F=#Q;6$N!Z"E1-O+ID=PLU*+U%[3EO62L@2R: @>W+:A80*+ ,'XU: !VA-X%?IRZN? 2-&00"T@_ M3S3R"E MXL9\])EB'[_-28VVW9RIY=D?$84_^2IM9,!2"'@2)3+_=S S2 MH(O"=9:3+$K#$4M$W6D"@-@OQ('CH28K\$*KL^/#!^WI+"LQ3, NF(LC\_6& M.H>*<%^*1=!!^EJ(V4)RU@\EC5LNKT%\L34A'?503P\C33IZ71F:J_?W5'0\ M+:I?YG-3)$WK?4;(^*0?"*T)Y=##W$/YD >$$:N63IJ/)^FS-J8F1NQ MCF9=CECIMNS^*SP2H)3*H619GE"9!@4%_:J\ZQ85F/.'\QQV *'44R K# G. M11!79;($M548GK=#QGW?U4M>LT,UMUH95C<.!AP6,:OP M"**ZK;L@A+:60Y1W 1ZC>%LT>E2A)!XC8$QE.\R!,F\TNB0A 3B:NHN)W)H> MTZ@]36*K7ZOI^!6&Z;KF]V-UT_G0:99E]Y@[.!#,K\L4W?[(09@[U?+UUVHV M?K$QB;#H$@J&ZP.H L=Q&Q9:+B@0MKKKKA)5ND170",#ZWHNH9-@3"B3&C!N M9)M(F&012HBLC.-)O?X:2>%H:<"QRJU@#$.1I\(MK/F3@UN[$(9@G6P\D\Z# M1 8H!?R!6IE2"C%T.28+PY/A/T;$ .;RN<:<@6)N&L+ 4EWB$\CP8"[5R883 MMWABL8%8KHO.]PEB9&,,^AQYVW\%;J3BP*@GZ=9UOR7R7;G'(D/^4:BO%7#6O;B3([ PU$M>CQ$#.'PI5B,^NMD8D!M2TN,*ZJ7]%PRH4 F W'?3A@ #5*\[P7K!H]8(AL\#Z(5 M"C2LWZ;MW2-[42QK&2A@WUAA#"*)%9Q4-!9?2F.5*/%(P J1A$B)5LEFNN]; M<4YKU[?0H?0%N)FKIN/):\A)FF#70V^(AC O/_8--MGZ@D:+7LCO!#S,(7KI M8WKS=/-3Q%7Z G]8GG['^*@])F;,W#3'UNGXN[-,^?3;0+J)KI7O\=Q%S -R M6>'SA3POP/NY@TCW-WS Y@>:R_\#4$L#!!0 ( /!):%?&3$D*Q0, 8( M 9 >&PO=V]R:W-H965TY12UVR#=I8\;Y?9>GIQ.1?]I/"[YGUX'OGJ_8& %"&'\?,+/>I1@^/1_1?T[#GEX8G#VFD%^ M,,A3W)VC%.6/*JK5PKL]>=$&FAP2U62-X+25HMQ&#ZF&75S=<-EV^=&64.." M%^,(7)&.BP/&98>1OX)Q3A^=C56@GVS)Y7/[,>+I@\J/05WF;P+>/?'G2WP[N/G+<#(G%Z%1 M!2\S#$)@?\_9ZINOIJ>3']X(=MX'.W\+_7]6Y&V,^8C^"T,?+*W;'7HJY75( M>\98(0O0:SV7I&Q)A:LW "NI&QPU)(Y&2;:MC;Y".+$^9(] M14<;CA&G DWAT=!B5RN+$2?7>G+W["NL#\A#3(:>C4J1PK9HO6<;8>#OL)* M4>KD80C-PK2EMCN*%9.N48%(;DLA*A_?MPV&T:C'(&2I8!^QD0X3A& :[_X" MB3"B3Y4.Q%MH1:&/Z4TD2>%V3!E0\REQW1CWR/S,]Q&YYGK#/HBJL.('+MJ4 M$P-N$%2ZHZ9R^_F*&9 JL9*1P+9BK"'[R@]TWDIHA M!_:PP_8Z5I#V! XU+-S.ZG]2T9!<95%K23J*@&JEU+Y/.>9CTI5DR6 AAXO! MMR 3*]<&F(3O"+LNY3=6GCL8BWZ@NIMPE@DGS&=,]/LA'5P!5TAY1&!;IG>4 MG^2#&TR'\D65<$J(C&MJ*>_T9#ZXQ2H6ZEU_2+GE-CT]'_S"%C3,2QTW'9Y, M9X-/+D(,'\/)V1FMXPL1I=142KH:J[_P+0RBF"67S^KQCJ:C',L5X;AC-TJ7 MN4.V4"%CNL:F1NE2CE(\>1+AL6^3T4O3/WZRFZ&]2R]0H%3K;DWW7_M';MWM M]B_JW0OY4?F=QJP9WL)T,OK^)"/?O3K=);HF;?J-B^CZ=*Q2-XH"Y%OGXO$B M#OJG?_4O4$L#!!0 ( /!):%?SX@8X_P0 .$* 9 >&PO=V]R:W-H M965TD9<,E-R17LOZ^9[@K66YL]T5:DC-G;F>&O-PZ_SV4S)'N*V/#55;& M6+\>#D->AMJS*I)298:3T>AL6"EML_EEVKOU\TO7 M1*,MWWH*354IO[MFX[97V3C;;WS6ZS+*QG!^6:LUWW'\6M]ZK(8'E$)7;(-V MECROKK+%^/7U3.23P)^:M^'HFR22I7/?9?&^N,I&XA ;SJ,@*/QM^(:-$2"X M\:/#S XF1?'X>X_^1XH=L2Q5X!MGONDBEE?9>48%KU1CXF>W?<==/*>"ESL3 MTB]M6]DIA/,F1%=URO"@TK;]5_=='HX4SD?/*$PZA4GRNS64O'RCHII?>KZBQZF&7IPOOGRD6^_67E67PPA V1[FG?)UJSQY1OF" M/CH;RT!O;<'%8_TA'#EX,]E[G9R^A_U])7E8^'9#HUUW@GRPAIY&K)7L:SU)B)WW:,JVTX8*4 M2(8:+=($-&9=&T;'15*V(/RSAXRVT6&#^$>CXXX*C;SI9=,VU=ISJ]%3@12^ M0 1:>5=11.\2-.6_3[%DRMZ^660GU$#&T[;4>2F.5&KWE(*VY"R3\U0YCWVO M;%"IDT.?W&H%"'$2_6W(\M;L2(?0P'@H%6H"$7*-I]Q5%?Q$'^7?J50;;=<2 MBUK#<5"!6RC9K;W.94E-+5Z\HO%HA(XS1N*$-YF**0K \2X[Z 7JI=B.LIZ= M#.@;BS5./B*!R(N YF@7;9L49A,XX5E,7BCFS$7H$E'J\. 7!B^MV;)7!OJ^ M=E[V&0Y1D+)L XH7D (2+)H_XDDY $H/(1LY+ZXQ; M:S%Y R+I2'<-BL2@9-YX'7%"O:]WBQ/Z\.$F*0LC0ZJ;MCA'#$$92.%Z ,5: MXDC.0"2LHC:T:-88DG31C@PPNV0+$=3*.\.T%5:"%Q60ESNZ5CXW:A?HIDO1 M>YL/J)?M]\%.)#8T"M9:TB=*)X(+,UO3 _I2'A'G*:8]=G4+%B$A'O-;:M?4 MSJ8S5MYHR &A-SY)6Q*OK)4QCQ%#L_P';7KDAF2Y-VG5]N!=$?<2"+E)U3B. M'2FI13Q&) 62GK5M0Q(5H2CN\M!=/KBHF*8?]KOURMV&+'(6.W@575J]T MWMH''S9:+FW4_>LA#T?]D>9/<*:@L_YX=M$_/S]-0./3_FPR3LN')G[4VX\R MLE%&]E!JZ=7!;X=F%:Q7-#T=C ];?021QAR> (#K25/M2=Y/+0A3@@Y#Z7H0 MC!5SFC6D:LC>:[P!1#E9F_W7VFPP>L;:29^*)C$E5:K$Q$Q*%ATDTT0NT'9N M/HSJ_1V(:9ZR\/-)_R>OSF:#BX,+$H["%243V[.\SF0N(^I5$QO/75^]3-VC MD@V>NM>&1\^.BOTZ/:Y '(?6;%\@A]W#^VW1/EL>Q-O'WT?EUT(ZPRNHHIBG M&?GV0=4NHJO3(V;I(EB9/DN\0=F+ ,Y7SL7]0@P<7K7S?P%02P,$% @ M\$EH5[*0IV6Z!P R1$ !D !X;"]W;W)K&UL MG5C9R2RVJ[Q,MIJY<<7.I%*I^P"2D(B8!#@ *%GY M^GNZ0E&A;%K MM<6;N?.-BKCUBTEHO5:E;&KJR6PZ?3UIE+'9V8D\N_9G)ZZ+M;'ZVE/HFD;Y M]86NW>HT.\R&![^:117YP>3LI%4+?:/C;^VUQ]UD8Z4TC;;!.$M>ST^S\\-W M%\>\7A9\-GH5MJZ)/9( MWKA]/5C_7GR'+[D*^M+5OYLR5J?9FXQ*/5=='7]UJQ]U[\\KME>X.LA?6J6U MK]]F5'0ANJ;?# 2-L>F_NN_CL+7AS73/AEF_82:XTT&"\DI%=7;BW8H\KX8U MOA!793? &;PWVQ;/SXDMG@N$(G4PB#/+C2=%OODB;9WLVOZ5/SL8J MT =;ZG)W_P1 -FAF YJ+V;,&;W0[IJ/IB&;3V=$S]HXVWAV)O:,]]BZZ@"?KS/ _1@R3_>RH.Z9CCIX_APGD76E7HTPR5$;1? MZNSLVZ\.7T_?/^/$\<:)X^>LGWT R+BF3SI6KJ2?[%*'B+*(03SYV1D;Z3/N M.QQ-5R84M0NXIC]O]7VDB]H5=T_Z].RI3_MT-*8>39/0F T:^L72]SKW'4J; MWJ8,CFBE">^TU[PT.E)4F\9$W-9&Y:9F4X5K6F77I!9>:S%U$"M-V<>/EW0^ M/,M>H#!B1;?*5)VB_Z+$0?;Z_H($OKLAR"0M2ZIKG*O2E4=%[BIRSI>Q,B+UAJ6SH_DN=7YW]\)D 8$92/&% !T1.J MN#F=UVVEZ$8,,LZ#;.M).O5*UVJED(?]'J-H& G>(32M=V57/.#D1( M75%WX@-@?^DTQ2[7(4'KHAA]&0I5:PJN5IYM_079"V.Z!?!ML'-5R'*DIC)% M1280""(8(-G!E)K=^]&Q\EB<2S=:U5@-+BD&$A"M%J83YEPOL 1(&^T+H^K> M"8D27G#4YJ[SR-L7\ (\8./,C#']_I@9R'(IV;=N3(=L/3["OD.('3IL)XQP M]L]=O:;9FX&%;+Y&^Y%X-;K)M4?Q1#[ %++>%/6Q2B?JUJXLH1' ,SW%T[Y MDF\^*8MFY8-8;=2=IE:M4SD:;E.!H_.((M]^]69V^-W[@$A9T9B.#>>U60BA MPA KO63'8@5HVWZ7#H5M':QZ3@!?J1RY'@"$#HG35*L>8R2 MHWEFA>.-0- B"%2\\NAH[&RJN)<1U M'ZQ<\^:2V2'>4Q:WXH^\+;@5XI15N<9KVFS,3A,0)^FU\,P:5,7SP M\G8QV]S4J-L-V=J>?9'1.%OODH; M&;#4G$1%T?$K^D;0@R"1Z;>;F4$:5%&XSG*216DX8HFH.TT $/N%.' \U&0% M7BAZ=;C_H$2QBV7UR"^ MV)J0CGJHQ_N1)AV]K(R>TX=[770\2M(O\[DIDJ;U/B-D?-(/&JT)Y=##?(3R M(0\((U8MG30?KZ7/VIB:S#YY&[$#F&5T.6*EV[+[G_!$@%(JAY)E>4)E&A04 M]*ORKEM48,Y?SG/8 42GG@)984AP+H*XE,D2U%9A>!@/&?=]5R]YS0YQ$$?6 M/S,W(NL2C!W5WFIE6-TX&'!8Q*S"(XCJMNXJGM4LAR@?YK@6C1Y5*(G'L!A3 MV0X3H\P;C2JUD <3=T% QYKTQ,:]4B3V.K7-!V_Q:1=U_Q^3->=#YUB679/ MN8,#P?RZ3-'MCQR$N:.6K[^FV?CUQB3"HLI2ALX]J +'<1L66BXH$+:ZZZX2 M5:I$5T C ^MZ+J&38$PHDQHP;F1;:V&212@ALC*X)_7Z9R2%HZ4!QRJW@C$, M15X7;F'-WQQ<3)AA"-;1QC/I/$AD@%+ 'ZB5*:400Y=CLC \&?YK1 Q@+M]R MS!DHYJ8A#"Q5);Z/# _Q4IUL.'&+)Q8;-,MUT?D^08QLC&F:(V_[3\2-5.P9 M]23=J@[N\5 KKKQ<:Z@S(@8PN%+F4T>!L:'>N3H-%WSL!CUU\G$@-J6EAA7NE[JEY() ID, MQ'T[80 T2/%C+U@W>,02V>!Y$*U0H&']-FUOG]B+8EG+0 '[_)$&K(@D5G!2 MT5A\*8U5HL0C 2M$$B(2K9+-^-9)U,GUVO4M="A] 6[FU'0\>0TY21/L>N@- MT6C,RT]]KTVV/J_1HA?R(P(/^M+>/-W\3G&>/L\?EJ> M8^MT_-VKC'SZX2#=1-?*QWKN(N8!N:SP^:(]+\#[N8-(]S=\P.;7F[/_ U!+ M P04 " #P26A7LM[1UQ4$ "*"0 &0 'AL+W=O1J;5R"KOU(@HC>,B:AB7P73L]^[T=*Q65G")=QK, MJFF8?KI"H3:3( F>-^[YLK9N(YJ.6[;$![1?VSM-3]$.I>(-2L.5!(V+23!+ M+J]R9^\-_N"X,7MK<$KF2GUS#[?5)(@=(1186H? Z-\:KU$(!T0T_MEB!KLC MG>/^^AG]%Z^=M,R9P6LE_N25K2?!*( *%VPE[+W:_(I;/0.'5RIA_%_8=+9% M'D"Y,E8U6V=BT'#9_6>/VSCL.8SB-QS2K4/J>7<'>98WS++I6*L-:&=-:&[A MI7IO(L>E2\J#U?26DY^=SLI2K:0U%. 2^9K-!88@T8XC2^C.)BJW2%<=4OH& MT@5\4M+6!GZ6%5:'_A&QVE%+GZE=I2U+9PJ*&F:#B9+)$H#*':XT5M_";,@;^FLV-U50[?Q^+2'=@?OQ UT^7IF4E M3@)J&(-ZC<'T_;NDB#^>D)/OY.2GT/]7YDXC%7UX"^S8"R@5]:2Q6(%:@*U= MT%S\N%Q>]CYP25MJ99BLS#E0#BTVC-$D_DM4:YGF#N"*YD10LB[*+P65F$9!A"-,7Y5-2*>9%OU4%T\A;&I>UIY:116PX;;V MI8@4[4<+=H."F#=^1+EZ)S=.ZK_=@@"71? 23657!W M5>YV=Q\:L^Y^?3'OOE(^47PX$1*X(->X/QP$H+N;OWNPJO6W[5Q9NKO]LJ:/ M)=3.@-XO%/7A]L$=L/O\FGX'4$L#!!0 ( /!):%<@-3&PO=V]R:W-H965T&_ KHM"F)Z\(YR.2['"1W1?RGO# M5MBP9+) ;25I,+B0KJVC8@=F!874]2F>=__# > R>@40[P!QI;M.5*F\ M%DY,QX:V8'PTL_E+56J%9G%2^Z8\.L.ODG%N>JLWJ!T9B;8-&MTX=,SJW\)T MQS"O&>)7&(9P1]KE%C[J#+,_\2&K:23%>TGS^"3A(Y8=Z$5MB*.X=X*OUY38 MJ_AZ_RCQ!:ZE3179M4'X/EM89_B;^'&LXIHP.4[HYV1D2Y'B).!!L&@V&$S? MO>D.H@\GY":-W.04^W]UY"3#<7T7'?B;^= !*?&@68<9T!)#86OFV85.?2)>$FR\+VC#Z8"3 "TL*70(LFG>&5Q<#N&L)^A]=[ZDZ8 ME=06%"X9&G4N^@&8>O9KPU%9S=N"'$]O=>F&W&L# !^!P &0 'AL+W=O1:36RRCLU(DKC>!(UC,M@.?=[]WHY5YT57.*]!M,U M#=//-RC4;A$DP6'C$]_6UFU$RWG+MOB ]DM[KVD5#2@5;U :KB1HW"R"57)] MDSM[;_"5X\X*42QG]AU]L660!E M9ZQJ]L[$H.&R']G3/@]'#K/X%P[IWB'UO/M GN4=LVPYUVH'VED3FIMXJ=Z; MR''I+N7!:CKEY&>7]QI;QBM@L@)E:]045&N4%I@Q:,T\LA3%V4;E'O&F1TQ_ M@7@%'Y2TM8'WLL+JO_X1L1LHI@>*-^E9P =LQY#%(:1QFIW!RP;)FMD$O_:.7OO*20[C=I^"OU=I830_G[U-IZ*/DIZ.X8KHV+2MQ$5"U&-2/ M&"S?O$HF\;LS&O)!0WX._7]=VWG$,;R$^;)!J:A8C44ZW@ 9P$8)JGHNM]>C M"RYI2W6&O,U;H$NUV*P)XW"S<(?E?B?Q.^GH*\I*:2JR5AE.^*^A"+-I[,=X M5HP.A+"_20-IF$P3R,(BSX=#RY[<21%#,LE&=[A!XEP15V,=38V/*#N$JZLI MO'DU2Y/TW>BATVB?R40(9E$S 0DD\73T\93H/)Q,KR )\[@8?5:6C%]#DH7Y M9.8F<9C%.:SL"<'AZ21R68J.*H>\LW%!-2^$:U]$]8*_!0:F5MI>$JTF)%L: MT=C+-3)-:0:A&*59D5G?.U"'A L[ZGINO. >0BIY^9/KP0%8]DMEP8$;L@U'D^+ '3?[?N% M5:WOL)0PDN.G-?T@43L#.M\H90\+%V#XY2[_ 5!+ P04 " #P26A7ON/"&H06\6)(_XGB)@21;MP+M&L3=^C#L@99HBRA%JB05Q_]^YU*R\]'4 M0/=@F:+N/3SG?I \WUKWV9=2!KJOM/$7_3*$>CX<^KR4E? GMI8&7];652+@ MU6V&OG92%-&ITL,L2:;#2BC37YS'N1NW.+=-T,K(&T>^J2KA=E=2V^U%/^WO M)V[5I@P\,5RWQ44_84)2RSPP@L#?G;R66C,0:'SI,/N')=GQ\7B/_B9JAY:5 M\/+:ZD^J".5%?]:G0JY%H\.MW?XA.ST3QLNM]O%)V]8VA7'>^&"KSAD,*F7: M?W'?Q>&1PRSYAD/6.621=[M09/FK"&)Q[NR6'%L#C0=1:O0&.64X*24CRY\, +)X9YIW?5>N7?-#CN %"\HF=MTSNQJ*#9(Z:,L2TAKG(%7OJ+!D;""[ M-00B;0T)LWL&T&E6$H7WH=G;R7N<49X#AQ]+)X_6 MP9_'ZZ3W*B8/<0%U_[I-&1[9PZCWH9:<)/!L>>76!_J1LDF*9SJ=XGDZGN$Y MF22]96E=^!D%4#VV3D<9I0 =C<;X9;V/-@C]%&XT&S'HC('203++\#^;9;U; MB89E\]=LBR@XE*9I)#N,)Y'%F%FD";/(V.D;=9R.*4UIG(!%;XE#DU6Q M#8[NSS)JS&"1T10!F/1^ET@KB+*%*'!.*2Z:6*]IDN"74G8*K.1[%-&;!FGG MBN?;1=R8G@6X%KM(UJZTVG3;RU;")?8IY][/GR?N:59O(W;QJ U!)#WK83BF M63KCP81.)Q,>3/>?3BD]@Y(22XDU]W Z?:*KX^4I&[#'.^G]G%15-VUZX"$A M_!7<3NEU[X9;&BKNA&YD;+!G,M%\JZ[LF=X@F62]Z[9SB'/.UYLC;KM8=U^7 MY^'[ )M%K);\&6@Z&*7)_^)'+YV0PT?WE$JZ3;R->51!8T)[93G,'BY\E^T] MY\&\O2V^%VZC^#"1:[@F)Z>3/KGV!M:^!%O'6\_*!MRAXI /,NG8 -_7UH;] M"R]PN 8O_@-02P,$% @ \$EH5UX=%?,; P 30< !D !X;"]W;W)K M&ULM551;]LV$'[WKSAHQ= @B534NQDMH$D;;$" M*V T6_=0](&6SA)1BE1)*D[VZW>D;,T;$A=]V(M('N^^^SY2=USNM?EJ&T0' MCZU4=A4USG7726++!EMNI[I#13L[;5KN:&GJQ'8&>16"6IFP-+U,6BY4M%X& MV\:LE[IW4BC<&+!]VW+S=(M2[U?1+#H:/HJZ<=Z0K)<=K_$>W1_=QM J&5$J MT:*R0BLPN%M%-[/KV]S[!X=/ O?V9 Y>R5;KKW[QOEI%J2>$$DOG$3@-#WB' M4GH@HO'M@!F-*7W@Z?R(_BYH)RU;;O%.RS]%Y9I5M(B@PAWOI?NH][_B04_A M\4HM;?C"?O#-*6/96Z?;0S"M6Z&&D3\>SN$D8)&^$, . 2SP'A(%EF^XX^NE MT7LPWIO0_"1(#=%$3BA_*??.T*Z@.+?>&+I?XYZ JPKP6R\Z.G$7@T*W3!PE M\&Y)>0"['<#8"V!7\$$KUUAXJRJL_AV?$+&1'3NRNV5G >^QFT*6QL!2EIW! MRT:U6<#+OJ,VAHWDR@71;X^BX?/-UCI#_\F7YZ0/R/GSR+YVKFW'2UQ%5!P6 MS0-&ZY]_FEVFOYSAG8^\\W/H/WI+Y\&F< ;NA3TH-=6A=5B!WH%K$'9:4D$+ M55]/7@M%)MU;"K$70)?FL-VB&6\.WF!YL,R"A4U^0RJE1LL*1-L9_8 ^BX57 M,"OF]"6/=P+E*8-9G,Z8_\X7D_=J:$>^KAV6C=)2UT\GSGF>0E84D]^U)ODU M7!49+%@^N>.=<%R*OTB(U3NWYP8AORJ %2DYTQ9D<4H46%RPJ\E-6?9M+[G7 M72%=;"F&I*^)2#9G<$&S!9O#Q>3,CJ.$RA\I 9KD3IN:48W!> .V]@G3*J%M(&1J?&BR7HR6F9+;# MT!#ET_3_XX3RH^4_?)XKF.2DQ;5HZM#(+?V6O7)#MQNMXUMQ,[3(?]R' MA^8#-[50%B3N*#2=SHL(S-"\AX7376B86^VH_89I0^\=&N] ^SNMW7'A$XPO MZ/IO4$L#!!0 ( /!):%=E.:&*F0< +81 9 >&PO=V]R:W-H965T MW# &@2$P,S\,R %//U>[H'H$A&U,.^2+CT=)^^G6[P?.7\EU 11?70U#9< M9%6,[=O))!05-3J,74L6;^;.-SKBUB\FH?6D2SG4U)/9=/IJTFACL\MS>7;K M+\]=%VMCZ=:KT#6-]NMKJMWJ(CO.A@>_F445^<'D\KS5"[JC^'M[ZW$WV6@I M34,V&&>5I_E%=G7\]OJ4Y47@LZ%5V+I6[$GNW!>^^;F\R*8,B&HJ(FO0^+>D M&ZIK5@087WN=V<8D']R^'K3_*+[#EUP'NG'U'Z:,U47V.E,ES757Q]_B:_K#0- 8F_[KASX.6P=>3P\K91G:6CC"W%53@.3U[ M5N$=M6-U,AVIV71V\HR^DXW3)Z+OY("^@[XJ;4OUBS,VJL^X[SQB\Y^K/$2/ MZOGO4Y%(ADZ?-L0=]3:TNJ"+#"T3R"\IN_S^F^-7TW?/N'&Z<>/T.>V#&TUR MPVS<> KGLYJ>QGDR5H*.NAF?9"W1!K-2]-E6GU;_0VQ\L^<5: M'=U7VM3(T@MUX\8C]?'^O3K*DESV8L0FP4S&+E2(1+6:Z]R;0D?G);7:*GHP M(;+ DFSI_$B>O[_Z]V<%"",%FE,,J ##"6V@-:[JMM+J3A0RSJ-LZTFR^IYJ MO=*>GO$8K38YJQL*ON M2->0OJ<'S4 "HM5"=<*R][#O%,1..6PG3,'V+UV]5K/70Q6R^AJS1N+54).3 M1U]'-F J66\*>NBE.WJ%JXLX1$ \_VUT[[DFT_:8C+Y(%H;_854J]>)*0S/ MI,#1V2N1[[]Y/3O^X5U I*SP1L>*\]HLI*#"$"M:LF.Q K1MOTL'SK$.6CTG M@*]TCEP/ $*'1&Y0S+UKE,&%6PD>Q+_ ^2,&,9N^NT'$351W7=LZ']5M?TS> M'K][,597*$S1>$ 2,:IK9%Y%[@>D3\,OW9JHZ^2?R;OD5;X6KX: ^Z65Z,4 M:VZ#)*#FG942;QR:!D&PXH7'"&-G0\6]A+@>@I43'RZY.J0V*[U$[SEM<2O^ MT /B(#!(XQ;6R&]L)@BI)M3OX[LQ2AF;!IM'ANLNJ)GZ;KR3%L-YB\0#391: M0"X L?/(6 -:- 4,MRU*L0!%H<+XU< !.!%Z%_AQFNM2ERA#!K$ ]2- ??T) MI-3$ZRTD6IN&(I4+=&0* V O"X'CHR0IUH=79\6%#>SS+3 P5T(O*A6L'UL:M]Q> _GB:$(ZZJ&>'D::>/2F,H2MZ(&* MCO=&]>M\;HK$:;W/"!E;^B=A-*$=>IA[*!_S@#!":NED^'B2.6MC&C*'Z&W$ M#N08UN6(F6Y+[S_"$P%*J1Q:END)G6G04."ORKMN4:%R_G2>PPX@E&8*:(4A MP;F(PE69B*"W"L.;=\AX[KMZR3([A8,X,O^9N1%:EV#LL/;6*(-TXZ# 08BK M"H] JMN\BX+0UG*(\B[ 8S1OBT&/+I3$8P6,J6V'/5#VC4:7)$6 &DW3Q40> M34]QU!XGL=9OU73\!FMU7?/[L;KM?.@TT[)[RAT81.7798IN;W(@YDZU?/VM MFHU?;50B++H$@^'Z *K <=R&A9&+$@A;TW67B2I=8BI@D*'J^EK"),&:4"8V M8-S(-I%4DD4H0;*RCB?V^GLDI49+@QJKW K*L!1Y*MS"FK\XN+4+80C6R<8S MF3Q(9 !3P!^PE2FE$4.78[,PO!G^WX@8P%P^W+AFP)B;@3!4J2[Q,61X,9?N M9,6IMGACL8&8KHO.]PEB9&,L^AQYVW\/;JCBP*HGZ=9U\&\P2N6T ;O M@QB% @WRVV5[_\19-,M:%@KH-U8J!I&$!"<5@\67,E@E2KP2,$,D(E+"57*8 M'OI1G-/:]2-T:'T!;N:JZ7CS&G*2-MCU,!NB(>S+3WV#3;:^I3&B%_*+ 2]S MB%[ZK-X\W?PH<96^Q1_%TR\:G[3'QHR=F^8X.AW_<)8IGWXE2#?1M?)EGKN( M?4 N*WR^D&&ULM59M;]LV$/[N7W%0 M@R(%#.O-2IS4-F#7W59@'8*FW3 ,^T!+9XDH1;HD%2?]]3M2LNHAMA$,V!>+ M/-X]]]SQ[NCI3NFOID*T\%@+:69!9>WV-@Q-7F'-S$AM4=+)1NF:6=KJ,C1; MC:SP1K4(DRBZ"FO&93"?>MF=GD]58P67>*?!-'7-]-,2A=K-@CC8"S[QLK). M$,ZG6U;B/=HOVSM-N[!'*7B-TG E0>-F%BSBV^78Z7N%WSGNS,$:7"1KI;ZZ MS8=B%D2.$ K,K4-@]'G =RB$ R(:WSK,H'?I# _7>_2??.P4RYH9?*?$'[RP MU2R8!%#@AC7"?E*[7["+)W-XN1+&_\*NU"\++/YM M'Q+!GF6R9[E,S@+>XW8$:32$)$K2,WAI'W7J\=(3>#]WH?DX#U*P\"F %3>Y M4*;1"'\MUL9JJIV_CZ6A]3(^[L7UTZW9LAQG 36,0?V P?SUJ_@J>GLFAG$? MP_@<^G^]N;.@QRG'\0A>X.VY#N2*NM=8+$!MP%8(&R5H#'!9W@XNN221:@QA MF#?PWEA.34:J7PQN&@&_4K<:N/P3F:9CJ@"+]1IU7P:PPKR3Q%Z2#%;X0%-F M2Q@6\THJH+X+:2C""X@&69QUGYOXL%G99GH9*UDD>=-W0A/ MAM5*6_Z=^1%R"?%PDDW@C5^-KVDU.)&8"[C*KNDW'L9Q"HM#%'RDB6J01EJN M2LF_DQ<:KCX]MM*(/JF2+@;JMHO0==&1# S!.NYT=@'1**;Q((2?=+*5C'O) MD)R9+?H)*)Y&_P^?!$X0&L&JT73G'O)E@?EAS>T34)&H1O^HL3433.8(.V8H MWUT]F6?5]-L+O R6'1:SSVN)(K@>9NED\%DS:<3^_M.;C.[\P/!(73K+>)S" ML1X/#R9UC;KT[Y'KDT;:=FCWTO[)6[23_H=Z^UY^9+KDTH# #9E&H^LL -V^ M0>W&JJV?^VMEZ17QRXJ>;=1.@&ULK5=; M;]LV%'[WKSA0BRX!5%LW6W*:&$C2#BNP=D7;K<^T1%M$)=$CZ3C^]_M(RI>D M3H9A?;$HZISOW#_2EQNIONN:S&:':Y8DO^A9L_5Y\4WD9[E$JTO--"=J3XXBJXCB]N,BOO!/X2 M?*./UF0CF4OYW;Z\KZZ"R#K$&UX:B\#PN..WO&DL$-SXN\<,]B:MXO%ZA_ZK MBQVQS)GFM[+Y)BI37P5%0!5?L'5C/LO-;[R/9VSQ2MEH]TL;+SN>!%2NM9%M MKPP/6M'Y)[OO\W"D4$1/*"2]0N+\]H:DK#30[,*%ZK3AG.AL M4;X8A:\">F9V799JS2MZ=X\R:ZZ)=17]86JNZ':M%.\,_2[87#3""*XO1P8V MK>:H[/%O/'[R!/Z4/LC.U)K>=16O'NJ/X.O>X63G\$WR+. 7OAI2&H641$GZ M#%ZZ3T#J\-*?D@"ZGFNCT$JG,N$-9:<-V>FZT"M6\JL XZ.YNN/![-6+>!*] M>2:,;!]&]ASZ3ZCCL_BGO8_3(>T,\V/#TADN>\/-\K+?B=U.,MB9+Z4V%E+Q.]ZM M.;VD>!I.H8)%&L;38O"9-\S:73%EMB"/TWIQF$89O7I1)''RY@B]M=$QQSMQ M.)E,* LG13'P!6&/"K-*SY4>0E)>,PSPN[2,-B.AE\8TJQ M#K[UY; R>9BG5J0(HR@;[ J_DLIY K]!Y@IN=4MJ.+ALG^LMY5E"69P//LKN M]8)7$&O(L'N2\T8L722:XFA*V23M?7RZ:M:!<3%USZ+(Z'WG3P]/Y(UWP$B_ M?IACUJ ES(EBAF"]+4O"P8IA25*#TC@=#>B+U M*R5P&(EF"ZRR65><6 L#1E.UMK84G8ES)&MIBW)H5;0!_-1:EL+9W A3$\X\ M;2#DTVLU$+/ARC?YF0"05U\IN>#:GFN0L<43)==#^L;MESL!)QP.4P#V5;99 MM15<*ZJQC5TG6ZU+^(%,^I,"IH;TM3XNJX^&A'9G5T7^($2:J<9<225*+#>[ M5M+(BG/?'996?XY,;E?<]DYO+]P;?^?Z8E!P-6>8YK 8WK&'(@FWS.3+6=3;A-K_>:S!0$D9%;!=Q MF&69W\F2"1;3,,WVHV]S(K2V_5RME9LIA-O#G+%S4$]43,CR683?*:@A#],\ M&^"J91J?.+0HVNV$.A593N=XQF$^GKH5@##,_2K%WN"V9MW2>M$=M9P=&IP1 MK_D].LS"'O4P5">I@Y@F/7J2^(U\6@#Q*#F\JQZF)0ZGX]QG(R_2'W<.E'B@ M$LR)XI8 N>V'BYZ!3Y/6@3TMJ3]Z[S4[T.,I[2Q,8I!CF.73X_7_B\?6T)TM M\1MP*.A)XP9K,?;QV5S_V]B_H$I-+$&XRV@&@WS<4#*WX7]BY$K=_^<2P/:<,L:?Q^XL@+XOI"@\/[% M&MC_(9G] U!+ P04 " #P26A7G;/PH9\$ !:"@ &0 'AL+W=O@BS]WZ MT85+T6A+MQY":AKT3Q,R;GE9#(OUQ)V>UU$F^J.+%N=T3_%+>^MYU-^@5+HA M&[2SX&EV68R'9Y,369\7_*EI&;:>03*9.O<@@X_593$00F1(14% _EG0%1DC M0$SCVPJSV&PI@=O/:_3W.7?.98J!KISYJJM87Q:G!50TPV3BG5M^H%4^KP1/ M.1/R?UAV:\LW!:@4HFM6P5#EL!IX-G LI50)EY=QMEEM<8<73A MW1*\K&8T>@W>\2>LXXQWO20NN=5#& MA>0)_AI/0_1L@;]W)=MAG>S&DK8X"RTJNBS8]X'\@HK1RQ?#UX/S/4Q/-DQ/ M]J%W3-%69+@;"^/6:[-6='@$2P*RD3Q5H&UT MO"/@W!-Q?T7@W@:7/%SQ:QWA/2IM='QB*\8:%NBU2P$,<:U]..)X95+%%&&" M7AE\"OQ@'^#VT]418 =0I*W7< 1<%X0)"7ANYK-&?-:K-C36DHCS/DYN[;I/L'F(4D8+5MG+,PDQ;M$ID\%+[@_N;]W>'4@=9/N7]:O[$ M/'0OQ=VS%.48X)0;, YM@(.7+T[+!X/SP\A98,*T+/Y]U@G<+EA M17.OT8"JTLRY!]BHSCZ5O2DCICR2E2DZP='Q8V:IMRC5 I26*7X;M#Y/]4 M8MO3NG&Y](3RR^ M]PWY>;[5!$XJV=A]^C>SFXO3N+LO?%_>W;H^HY]K*Z?[C$,'O3>O"O#=3:8; M1-?FV\/41;Z+Y,>:+W_D90&_GSD7UP/98'.='/T+4$L#!!0 ( /!):%?- MK')*S @ " 6 9 >&PO=V]R:W-H965TG1]*<_NW/6E;4-I:KISRK=5I=WN MADJ[O1J=C+H''\UJ'?C!]/JRT2NZI_!S<^=P-^VEY*:BVAM;*T?%U>C]R=N; M4UXO"WXQM/6#:\66+*W]Q#=]'^)[;!EJ3W=VO)7DX?UU>C-2.54Z+8,'^WV>TKVG+&\S)9>?M4VKCV; MCU36^F"KM!D:5*:.__I+\L-@PYO9$QOF:<-<](X'B9;?Z:"O+YW=*L>K(8TO MQ%39#>5,S4&Y#PYO#?:%ZUM;52; R\$K7>?JUM;!U"NJ,T/^_;/.*3_(9>8O> MWH7(6_P5>]5WQF>E]:TC]9_W2Q\<0//?8UZ(AYP>/X03Z:UO=$97(V2*)[>A MT?6+;T[.9^^>,>&T-^'T.>E_/F3/BSLYFZB'(K,#K_Q*0-Q.+2FS%2E3;VRY MH1P7:J.=L:U76:E-Y<>JU%O?FH KK"(?S$IS[N&>I=JP)J<:9S.B'.+YL3,> M5RP++U7-B5;B^-9Y4K90RQ:OR?L)*Z&SS+7X4Z712U.:L%/;-=78',E)LGRC M3:F7)>$<8YT*5@0;[UM=9R(3PE5A:MP:G.6##A0M-W5N,MSA*F ':[H443C1 M>J_6VL,))9$ECE1:"LQ5QZ)(F+%L9N7'L541,V9I@ @1VDF*P\M_ 7N+L=+KG M8(!SF9!C4"KDB+BBII4-1B(X5IY"**/7QLJU94)*OC$Q?B6M(D9JD/L 6

6RDN^-1.:C&.8\>HE#-\0UX>PAAM](VZTJB)H!7N-%X]B)0XI MG*W4O]><"_!$"S)VB&-P.U6WU1(WL]GIJY/9V9NS\_FK,_4M'_+BFS?S^>S= M^?Q,O>^UEX&*:4P;QB" M8A(+.#P[VOY0*+M]O\9W"DY@+JFG5L%AI7@?#LLB('#I/K<,75WY&"2.?NLC MM3%P?[$[-";N'YQF>9NE4&X%^IVGL11PF M PC,: "]W-P(+V2:2[E-KLIB= MJ-LU=B7T8''W:KZ8@T4(<7^AJ^:=TF6++J"M]BO9FQITG;=5PR"/W@7'H.P@ M_OPH;P/SN&Z:TD0?" GL@3-1-YKMQH&@# :7!628+\$A9#9QDW"<((MMD\1K M.8E*SB;A>6F01(R1WL @F4X'J:E4 $T06T29(X^TL:P:H>0'$7W!;LBH9!G M@=C+>!#9T1);I=!NB+:%'O';V=V;[UQ/^CS2_ C" R1C]+KB1:[<2 M_I)XHOA[;PJF-^%O&+5%E\W_XI*OP>88*087H)> J9$[O\J#G+$@WR'65K%K=_QUYEGY64,MY&N8';FI2"L5#K,(Y-"6-2L^FILAOTVKE:69O':I&H M05S9$>Y$_=S(S++AL:3K"G0F/4;LGB+P#.=;[3%!Q+(E^,/HY$U.AW5."OJ2 MD+\;VH?4495*6P1>ZL0B+?&")R KFJ.V<:YGX1&8_O_1[ \8)6NZ?&Z MZGJIV)B!-Y<6[GQ848>..\0;HK VZ 'Z3K!/N>6.?3S!^.,(,N'$AU*7Z%*> MBL?QZ$:0(9(H4S[B@R+BT-, V)TK8ZO" 90086P!(#'#^*ZW0%LF 8I%:]\A MQ7+&+?01F1$&L3KNFRQF(V>XF>M"X-OE;\G$8=$:UIP^^2IXAVN$R5)1Z[)G M(AYAMPKJF?XYWM9F%*=H$JXO0 F8';T2[N#XO,D:HA!C9(72ES M=@^73L9Q. S*IF"7T103>P]&-!ZTT4Q5F6"94;QJ3:YC=>V[DC@-#.,VLFZ7\3QH2L;XM6F2"/% M'-1IXD0DI/N)NOQ/(A\S099 8(;&">;XQO DAVMADV)/)IV>[(TN-[MF]* : MC--PER;3NF^8T<7UTFXM9K=Z)]\%&$NH8%VC(B.30A%P*QKTU8*XOKF+HVDD MKFZ:ATH3=6\X+_@(E$'YWA +RP %4(R%+9D)"5,56R!DV^L9J2M-=-Y;3%3] M(KRIDM,DMW0?#1XQB;\[4%%(!.,0P&EB2Y.+",0'I@H:F#"[KQO[B;]KNV2" M+LUG(-V$W>389Y_IX*L=RN9*ODWZ6/'B![S^:?_Y\WW\ZK=?'K^=8C)%&\/D M66#K;/+Z;*1<_!X9;X)MY!L@N#382B[7!%9QO #O"PO.3#=\0/]1^/H/4$L# M!!0 ( /!):%?"OL<][@( &P& 9 >&PO=V]R:W-H965TN!ZZHTQXJICJB1 MT\Y*R(IIFLJUJVJ)++-!5>D&GI>X%2NX,Q[:M;D<#\56EP7'N02UK2HFGZ98 MBOW(\9WCPGVQSK59<,?#FJUQ@?I'/9&X?T3_; MVJF6)5,X$^6O(M/YR.DYD.&*;4M]+_9?\5!/;/!242K[AGWC&X4.I%NE174( M)@95P9N1/1Z^PUE S[L2$!P" LN[2619?F2:C8=2[$$:;T(SABW51A.Y@IM# M66A)NP7%Z?%"BW3S?DIU93 3%9VU8N9S#5U-Z,;'30](TP8IN(+4ASO!=:[@ M$\\P>QGO$JL3M>!(;1K$-O/!4:FCQPFMX.9-X*'7.GJBS M-$RD9'R-UOX]62HMJ4W^7"J^P8XN8YNK,U U2W'DT-U0*'?HC-^\\A/OPPWF MT8EY= O]OP[I)M)EGG[2@2;%TJ9(SU(T&R^7\-'8""0)@"S-H499B SV3 $] M*U'255>#UD,N$:%JN@)-5P"=J<9JB=(>['=B=V._];;@H'.Q58QGZIWM _,* MGJW63"@-8D7ZL$.^17@-?L\W[[8?AW8,?3,&[3CP6_=4,I/$F #I[NY(DVI[ M]KT8HEX7HJAO(L.HM2"=*/C:.I):;5";F9\D$/=[T M\\DM"K_4%.4I66C^6 MT04M3 \9I8%NXD'<#I(^).TH\:'?[G>]UH/0Y*ZN?U7+O1_0V&W'7I?&?MN+ M(K-.:'$,EQK*/5. "N7:ZIRB!%NN&S$XK9ZD=-(HR+-[H\-W3*X+KJ#$%85Z MG6[L@&RTK9EH45L]60I-ZF3-G'X'*(T#[:^$T,>)27#ZP8S_ 5!+ P04 M" #P26A75GQ4C)P# !P" &0 'AL+W=O-[5&GK=!5>E'09#Z%1?26RU:VUJO%JJQI9"XUF":JN+ZRQV6 MZK#T0N]HN!?[PCJ#OUK4?(\;M)_JM2;-'U!R4:$T0DG0N%MZM^'-7>+\6X>_ M!1[,B0PNDZU2#T[Y,U]Z@2.$)6;6(7#Z><0W6)8.B&C\UV-ZPY8N\%0^HK]K M7J=*TWW#H?./ @ZPQ5E5] M,#&HA.Q^^5-?AY. V4L!41\0M;R[C5J6OW/+5PNM#J"=-Z$YH4VUC29R0KJF M;*RF54%Q=O61^OY>&0-KU+ IN,:%;PG7K?I9CW'7840O8,SA@Y*V,/!6YIB? MQ_O$9R 5'4G=15\MUU+(_4F2\,_MUEA- M9^+?2_EV<,EE.'=/;DS-,UQZ=!$,ZD?T5K_\%*;!;U?()@/9Y!KZ#W;D*L9E MAN$,QN#02X=>$[IQZ*._"HT(5=="="T$:H#%:DLNK@L?"?W*^LAUR;4J@D$: M#?N\$A)LH1K#96Y>P\_P"L*4S>,I=$HT86F<]DH\9V$8]\K4*1&\'GUNKQ9M MRQ]1TTO1\39 ;XRQ!$NM!7J>(.-EUI3<.IUNJLB %B$79>."S[.&,)RSZ3QF MLRB$,(A8F"8LF4S('I$]89,T(GO TH36HG1T]SU 1SD8ATG//AA'DT&,G\7I MG$1Z4*!N=*V,2V,'F:KJIN5]&9S!X=L:4 BUY%(I<@5261 R*YLGT*>;XU-+,H>=5M59 P?O\TKZ- MJFZ?_KKD\KQ&,0N2&0OC.4Q9$DQ9',??!Z[)]HBFI4=>]YM/AL+GLZ@]1%.6 M!@2;)J/UL>+?-.D\V6.GY?]NY',=*#8,64#%G*VFR+-[-XL_<+T75+(2=Q1*AW;B@>[F6Z=85;&ULE57;;MLP#/T5 MPKL\!;;CI)=U28"DW; ^%"B:=GT8]J#8C"U4ECQ);I)]_2C9\=*U23L@<'3A M.3PD)6JT4OK!%(@6UJ609AP4UE9G4632 DMF0E6AI)VETB6S--5Y9"J-+/.@ M4D1)'!]')>,RF(S\VK6>C%1M!9=XK<'49@F?5>DSY\Z$&E.74X+C:0 MU21, 8-')FK6]"%!+$RF"$CXA>!T>2E[.3508SWM73@/76=!K6G'Q<6,0>J] M<(]0L$?WR4 JZ@.6Q#$!*2G*D3(!JM902Y>;7/+?+;PMA@'#G=\+3-O$]GUB M$T_<8:A3IKKVB25Z$NF31XEEPG(Z5!H%^M"NF*$MMW@\+>E=1.P/:7RIEMQ/G MH'NI)W\ 4$L#!!0 ( /!):%<94F9LO@@ %H6 9 >&PO=V]R:W-H M965T0O5V//9)KDKI1[92!K]DUI4RX-&MQKYR2J8L5!;CV63R>EQ*;09G M)[QVY#Z:!=N-:K/-#"^.RDDBMUH\+OU97# MT[C3DNI2&:^M$4YEIX/%].W[5[2?-_RAU<;WO@OR9&GM-WJX3$\'$S)(%2H) MI$'B8ZW.55&0(ICQO=$YZ(XDP?[W5OL']AV^+*57Y[;XJM.0GPZ.!R)5F:R+ M<&TW_U:-/T>D+[&%Y[]B$_?.L3FI?;!E(PP+2FWBI[QM<.@)'$\>$)@U C.V M.Q[$5E[((,].G-T(1[NAC;ZPJRP-X[2AH-P$AU\UY,+9M2ID4*FXDBYLQ1,ES\9!^BG7>.DT?4^ZIH]H.L7\F_A_R.:E\=5DMY\]97,E&G M R2&5VZM!F?/GTU?3]X]8O2KSNA7CVG_BQ%Z7-?TS4BT^BK6%_H@])2#AB$7 MBZV1H\6E^/CQ7%P:\4$M78W4I7C,AF*CA#(KI&YZ9^,+Z9'C2:*\MTYH@W]! M 9<@@H4*9S8J!T6BX.=*.1FP[]R6E31;TO!2O'C^['@VF[PCM?QU^NXE2?NZ MJJP+HO;1/EU6SJX5BD3P]+NMG< *':V\D 9>*L>5RR2*3%E+IRVD)0J8QT)2 MU*DV*^2QURLS%!X:$BP,16%7V@>=^"$TZKCF;18V$&7-/N"O=*E(K,GTJH8; MP&TDON2*EKQ.55P2,$"$7/L&+;)6;'"\Q+YRJ4W<93.12)\WNFWR3=B*PS+L MV=DL09T,8@U, 2$ @'Y4RJ& T@T*''VV.QDGVDGB06,_<$J4"RC8=] I58"? M/CJ 5;6R)-*SF;P*.M1TJ$1%?H!'=/H-ZG\N/LIO2GPVBH(*XPR407XK9);I M0K,TFW<)L*RSXK=:.[N2X((+SY_-YO-W<%["LG()%P$0Q7=I"70\I-JAM%M' M>PQ9E-LBC?M*F$\8&7$D_M$*PB2.&7F5R$H'642@ 3"1!3 33I&S3&CBO$Q3 M35X-Q87VB:.&Q"P_+!)-><0?EMMSGX,9H1G]4+;PH+F!C#J !#U$RS\;@>H9 M(G+3>2RA,65O5=*$$&E9]NA'.M'QL2JHB.F$K1B;$ M)#,X4R HB0,]L.)E,Z+^H39,V=W(LQF"#,L5\;M'0!K$'30[E ML^JEQDARG7=,EIFS7^;6.IJ$X?#C! MQX??5H"=_&C0!C+:-M4@ G+71BXY5 ?*:)D5!6+-E,AE"EQD2>?_22GM5"5U MBG&GH-) ]M)\1YX )5+;9TX*?5"'=.(-%0KP+1\BBJWX2*QHL>O=L)0<2:FDNWXF"LE %J1:P. M*>S5U.*)JHR>\6HOPWNVL^G3T;0S'4%AQOQ,,V#*'(6&B$"CC=Q:4WN!,!+2 MK@R[T63K \2CJ$!,.?]W/ ;500^C>CT;PMKUZ#\2BYV/0&/:I4+'?2LJM+T< MC@D/]!37$7B(TQMK9>#R?:O0'=E18APV47B/7Q/WHF0_D(V[A'XC*)>%XMZ4 M'2312'QHTB$Z3Y(@W0]18 ZC1]:.4NHG,>N%C720D4?=RI *1;4K63#FQT2! MU=XFO9I-#:676TW=;5JU)\G&2="YII3'A('NL21 ELC1D3CGE&\K F+ U1$! MY< "8<+"W@.J47NOQL8,;/P_ZF7XQLRTM8]3$]#193K0 M#W';OCEMGT"R:MPKV>1/#E4D1YS$.?JD+N3]L>Q].XQ<[,:RMKLM081,CV\A-8@U:/V((Y0VH!06SHUAKF5W@#CGXQ6)P612X MBZ@_:7BQ\3: JPW=E%*ND)WBSTN^4"+DZ@%NDG6O(Q/[IWREG)$E#DH58CZX M4-(,Q)73:8KT_-6-GA)#5MZ'G@'%7230!%;JT,.9I=L.#TM 84FYO($AW Q$ M736]$*S]>:ND@WJCJ?<1A1LU/$Y0]2#I_>LJS%+@!/I(<[V3V_CPE:880.,> MWAX.-=!AO]1,1L==J2'N9C7/CS0/N#B)>:KDN ?$FHZDXW<&M:1^9S>Q/.!Z M25E>5+D4-\"G>*!+[T8X-K/B_ #,=48JN="A^-*]8$WFKR7RCAHHM8J>\MJD M*J;9I= 5+N@[R'Q MA A/1_,[$6[F=5?S2.X,SKT!FG<>]\'&U;\5I."#%;&5W_=:O?B=!'?%^ZVQ[>N MGS L:\R AJP0Q #5G &0 'AL+W=O]O1OY[X4X%_\LW*W M??1WAJTLV_8]_O&F_/KD'"MRM2L&#)'3_V[<:U?7&(G6\8<.>N+GQ(/QWS;Z M][QYVLPR[]WKMOZM*H?-UR>?GV2E6^5C/;QK;__'Z8:>8[RBK7O^;W8KOWW^ M["0KQGYHM_HPK6!;-?+__(,2(GK@\_,##USJ Y>\;IF(5_EM/N2OONK:VZS# MKVDT_,%;Y:=I<56#4[D>.OJVHN>&5]=R&EF[ROIJW52KJLB;@8A5M&,S5,TZ MV[5U552NSQZ]U;\>?_5DH*DQP)-"I_E&IKD\,,T7V8]M,VSZ[+NF=&7Z_!-: MLE_WI:W[F\NC UZ[W5GV]'R179Y?/CTRWE-/AZ<\WM,#XUV%#=LVL_]SM>R' MCOCF_\YM6,9[-C\>+M/+?I<7[NL3NBV]ZV[244?WV[:NB8>OFUHL'Y<]E59Y1V.$+_8Y#7YU_^>G9]EOW]ZNHM__OBR\<9R5!Z>J"?;>>WS)0=NW[$%1S:#'(G MNS@__=_\S54W5$7MZ -,]\ZMQUH(?GWZK[/LC2RKW54-/J-?;/.&Y"I&7F2T MA2PO?R=Y(C/1UWG60*S51-QB[#ILO,F'L7,1P;8Y'T!. H$^QYE5I0,!&U>X MOH?@P*;R;)577=@)AF_'+MKDKNTK81Z>^QJDW"Y=YZ_P@K?X+0TK'U_PQY<+ M'B^ZYYFQY6'3.<>/-\2_V58$C8.@F9F(?RA#XR\,7^3])EN1?@IC M?M1(9\SR!WA[F=?,9*)C9?M[VR22]T)Q(B]I*;H27;N->1U,=/'9E\0CX2K= M?>778&S[&^B0@\RUZ[;B!(1-\(<#*Y&9-> MKA]OB,_&TY4V3%_3_<^;9J0SG3W=8[+,BYYHN>VV&H:(L7IW7!;%'@%C;N84N MZ]/41;]IQ[K$R0.P:2+=;\ SF)Z?E,K^25'-,[MVL[ MDGV-E]O_:X_YW(R,RQY!")WPG\E0)T2=WVC)))UI95!P?*UP<#0+G>O8TQWJ M:>]N+6(>4Y'8'U?$KB.+=.P&Z(,0#?T+**^M:2F ->]I#?U=3_ONCT"2YQZ2 M/#^*%7ZH2)#0L=W-P8P'/HK=,L<2Q;%I.O=QR[Q&G]&UZ>DP:,L%_X"$!9WL M0B\_=H>;P)=!'J+'"9[3QED?_6=V^?GG9^>$H>OZ?D7$J\BS344 7- Q*PDR M:U1/X!8%7726?2ODMK/N#QSVQ43]/%C7++);T*:D?5P\O3S[PO:QH ^>/SM[ M'O;5X#?/7IP]\Q\QC2 -B8SUW>(!N[DZ2!R_BJ<7T:1^Q(:^;4HLZL7S: 7T M/8PS4*C(=]60U[3]W:YK/U0D'&E1>.!9V!4>Z!R,2GTD+\ >^4U>U?F2,!#N MU6IDM-+GBD)9E9/ HDP ADLCA3%?X1TS^)1;^G)VL\RX+R9/+IR>,,FKG.2&*SUN$E--D5*>K: MCN>9 )'I@"J^>L T+_ @6@61%>V-:R#H(0.Q(#IBJ%V/#$@!Z'6@F:OMN,UJ MN[ +P82RPPD3, D/DF@A=_+B\OG>G71YLQ8REJA+1=';JXR M)RTTAV:3;;(%!Z':+NMJ+91CH%"PPM!M9B-KW&W^GC;JI\OP)9/PQ@ET-OZ5 MD2O"6*P'Z=&K>K?)"0PY5R\.,MD).N&35M&XY_(&?YZM]X0]Y B M*6B 'W(B8/:VG?SZ_0]OKX@S;FFV7=[W@N(8F0$ O&Z;=0?U MP#J C'O68+32.K_%#VD\P'G:TS?X'\[-BRM0$^)*5X.),EHAW;V*@"Q8J7.T M]X$O(ZS#<;L+E,42JBU4F#(J61N$JM9M6_9T2L1=]+][AHA1V &PD<. M;.9(AM#E*\<"?]'F@U:C79B]QR0E%#289OY7U?Q>$?(P^EV-0]NTVY8.E^PE M70I^^-:U!&[_AH]W(VVJP!>O-W0]B*XVRLECGMK;/[8@$*]0@(<# >Y99!4P M6;NIE@Q=Z"?7ZGAZ>OZ93?L+(=C5BH^//KGXXNFY:@&:H1^)[1]*(L/%/'TM MEY3^)E6E<"W!YF?*$.Q.$G[XA@"C T\1/\HR'YV\_N8M<=/2K4F+TO'5#(A, MJ\6'W),E0\K#VP','O3Y/T;29)?>=$LT<^-N%4-"=@L*V1(]:V,5UQGVNH'K M#12D!2D^Y.M6-:/@XB5 HIX WTX%/MU[F%@=&3$D!(I-Y5C KL8:UY4V5 6( M'-9M$&W"L/$*<2(;QW?8D"&MHA]70!>X0) Q+E^*O&736^1/#_YI^4$P;]O1 M4?QL4MO3R=_8;P'I![.@ 9[IR D75PUK4N MR(HISNCFC')/2S;RB8< F.@!D>\X798W)@T?G3"&YPV_KCJ"3R9GWL2_(]Z MB*_S:MO'=""I[-; :LFC]%/>$VF6JB3&,3#*)B8!4M+D^*@V[B\'PBGT)'*D)U<0H: ;K4"$J>UE4X4IO,' M2 >"BR-3%*ZNF>N>M/ZLQ>G!/-7V;F^R1BT?TFLL>G#$U9I5,G@-2$KD"$ Z MWS%:1B -'[;L-1M8&@A+\-5Y81PQ%P>"82)C25J"L'?*UG(@3 -9>+Y=MF65+[(?R0"^Z_'7+QM@+E7G_ZS7Y!=&0Q 8[5#S5FI&5&E H M+864!UMX=*A.C@C\]]N[GXGY2H("[#4@@;P2Y5NS\J4M\K$N%$Z![/1('YX MPF;W.;M*!HDW"'CP>HFD&?$D;3,LDO$1SHI'$Y8%0>6@R,YT-8N?BK0#?D_B MOQO9"^/%AORT:D@_U^H2-%F(\\UYB@C4Q+*3?JLXFDC].^VD9XD+YC8W.!]^ M[/X0N2[V<$\G14LFPP+V TYUY<29:.,1:SC32LG,*]D=R='=KKY3X= /?K>- M6^=BLH!Y0/?N/58T 4P.^8>L$+C^Z.3-+Z]/'D?: M4?G])5JNH)-I]$JG7KD27CNL$R>$B4C]J3B K\_?W!UT M3#/D:W.G51V? X)=59]Y5M3EJ,<@V]5YH2S [@6QR0K168#>Q'5"MS?-2KGR MG;/+K A(I-U?@UVOQC7AF^S""U%'!&)S&F.X#X/8UNR$]&27"40VX=,E[7+% M'WM3$YI^[CR\_9Z21YB9@%K5G&5TI(G+T!;!APR\YP<;-@1;UAL(CIJUS>7Y MT\N,;6D2Z>JV;(6!ZK8(N)J54%6,+"UD-!\7B<1_3T_TJX!;1:JQ2])D+>X, M**H6$7O#!)S0-F(V*4@(=^S?6[KA%ALC'/M?/-AS^D/19JJ^@:A40)KN)436 M-N)R8S1["Y?JNE*:,\Z(Y7]R:#U[>D@(=8UXAU3 T$J)ZC%VC;V5 O6(J<%% MF)3V3=APZ5AUDW2OJS\=V9L_CW(%9&7Y:B427AE4OH$Z4EK&.P%.-_"WD#.F MQ?9B%6Y;0$#Y455T[2EAU%W/UN*M0X2F%V=S *(\%Y [NP!-K'OC7<9B/Z[@ M$C%,5R2YS1T. YT&58RL[)E 5/5+0ZOP;R "TU^PID]G(=%98B\J3XTNYH?1 M<^LC_Z.;X($;CBIDG04/*B\F=*WKNEW"!"]@PMT%'6BW:5.M^=J2303KY/3U MS_]\\RT951E?>R*PNN^@DF4:DDEL 81"\03"?%Y_BD4T^ZEC\5 <, MP6 !"R;+J6H:=86PHQ@K.HU7A)@,[T#<$4X6L29H\( M)&(SC]0#'@,\68.!&HQG@(7YS]:@;.WL7Y'>;WUPBJX3G5A_YOW.0_[>P7OH M=JQ618/H!:'I^HHD*(9(?>R0P+1!["^*.$NX53$+ 6[A\LG]ALNI8@/+F1&: MBVHDFZ,D<%_VYG^H>C>Y&;&NX7D!AL$NO0H*\>0",G_((1/50W8#+%.2*-;% MI4S/A[.#%=Z./0T/#+/&).R/"X<(7$6"0K^V4X8 C7Y$$DW$I:X\<(.*,O$V M,.R5HU+,=2FACXC!R::H!K75]S;*V[^MZCIYA*Y#/8*TV"4,-J+K#5$2_J!# M)T)V8@/_"WVJ]FV[&ZHM[8M'F9?/Z85B"G[OEMV( #G?'1HF."R]LY)L)M8X M[$YC>_H4O'3'0EM=)ZNJVXJW8<<&W,BTW.;L3"=VZ>@>^ -1T8M8J=X XG6. M0$K0Q.\^!ZUCP2?6&&DL&@*AHD6@\8(%#W_6MZOAEG6B8F;2&^(%I4U(H%C< M$@I\S^#!C/R?(1A*:CGO2G$N5?UTPS03&9CB++WX[(R HW@;A#IQ0/:$,Q^F M = HF^=ZH+725#UARI+M,_5Y7%T#;E^>/S]]=K[(_MZR+[Z%@=*$>V(<5'K_ MP<#N*+4Q8BW,SME^$6=)*-/GZS6V"ZM/=!BIX]YQHLH ]PA=Y;(=EW3)E_"J M@:X1GD&8A[=3=\3X(XQ%\;MOW M20Z@J$$5QXL#IC4TIK_@\1,DX>#8*4LVXR1+HX@Q[ 9^0S(B>B],(KBFPII- M?.G1^):%K(\(]A)W"\E0V>#(6N>T4)'OR#U8MP'- M8TX@*+HS[^$Q>[.84.%>%,CVL0 M0_T5XOH@QB;=IXZQ-KBG23W=P-HS1".W3[ULQMBB[W*S&6/4PBXT7D*!G)J" MO3CBO;]Q?;)N39;@+SFWASB%$T$T+,L!RW:['1O3>V)[P;[E8!"QH0F:R,%> M,&2&L&5G$XTLT5':<5O?J(;@%*0;BQ!56YQ,0=?3!7>M>9C@SX 7D*06-%XI M0K)PU0T\+#-;(EZCV1D:*7/;N&H\1*N?DJ^AR\ST,'14&BMS\%RE_K*=TH$' M,K/6H_B>?ET@DF+?,#YLZ'8J.%RJ"X"VV.>(-Z7;J7,2W'C^+2W>P6C+LXNW MTRR0LTYJR3MH9E['2"BI=\,@6DX$%/_%U/S^];\L O7##Z^3RVFA0(-[ M.9PO/XA:O2$R:W_'C&QN&02JJTIA_'X" M2N1WRS.<5A2!CH96]DRHSD$H'ZD3[D6<1)(5\NS9,V@W[P2B0'*\@%LJWDO.TYS MC$)/&B)B%I=/8@GZ[^1,2-).H)]'(%[ET4ESN)&N$X( $ACJ-PBS?T3JT"-> MX@KI"0HE#R[W^2)^4E?X^$M^+#KF6'#EFJ %VM6$2=CPU.02%3-1$(<--4V_ MUY04 TJN,DN%=RKGMF)14CHR,SQ&(<,UBHTQ5S*"4[0=N2430[,R-_2<$4X: MSS(-8^[P;D@UD;S5B/O#+A^I-4&:.(G===?VG$^QJCS^?DB>7 B2]&T")V) M&683W-/>2K:O3H3UELXI^6;5D(/T8,*5:.NJL21*_TL2XV-6[ M2K)$R*F=&HE$,#W4*N#"M#[--TPYCNC=DV&3#+>2S'3G8 MGS6A$OE6C*8H#2/U+X^6>1%".< O?&L6AXZ>JQDL!./-:I^,S\L,$0*,CG\B08"996>=)JMX>9P85+-[ M#PLCD3DV7H,*+O#3],[9(?E@F;H,XU ]QE;($V!+U4S*0HP%@[WRS/9EOH./ M;3=*<')#HE M"?XK'>)C8K>!%%\=\-"<9?]CBX4W21U;@$%!R1 *ZSCQ5G*JCJP# MWWHDO2:I@R3OTW9UVK-3F?VW3(.2SI4FY6R=Q$7D$[CX@.#_@U<4V:GLI3!G ME#K?\AII_G= -YIN6W.M6=FQHQ[\ '$T;&S3EB0A;H^%>D^4AY1&<#K!MV>W$@+H9Q+,H=Q&$>U0]QAT%*.R#[+LW M/VQ!#]*3Q,M_@X)FX]URV3RGR,+IA_3+)#'.-#?*=W0ID/AL:O$IB(YAZ!:S MJ"$:14BX=^HN43$#O[6ZTC3AUP\>H2E 020&.?BTS1J;*$*BYQ^CR LO/[V: MCY3(TMVUEMN_I\=8S&J-TMB8"6'XCI@9GO@N3=CQ.^$, #9B5_D-,8T9(#TG MJB),5->3A($H$TCH'5CP$%V(V6@U=5S)9S@HVJ5)VLA5'5#PC=HB>[%@G(_/ MW+J3!)%H!/&,SVY==L6>%L*LKD,80WDGI.C"PU"5+F!ZV-)U'.C8YD772DP9 M<54=P +U:0S.AZ1%7-!U-^\[1]B]5G@/8.MF+KD\MW%Y#42RBC0?;-YJT.SQ M1V%YD:-TF3?O$90O[F)0V'$>,XV K]-J)5FX4H,U.4NB3JV5F)7Y"UL_1A(' MEPC'QPL]0:+,WR2P"+S-_T!@J?4JR-I3GU1)F"L4/I03"2?^@TE.Z6W,5ZE:&JKS34+0Q>V,\] M9 Y;0[CLLIS9:BA;\@N*\^C4Y9)@>3.7O@M[%4>H)@CD=3&:XX>]X[FMFJUG M(&/SY2=>LR01B^MFO9>>8WXU\+L9_I([$=!T2;\N4142!TA#A8CZ^2Q]F!U7 M9GRT#$M(5?\I_G[=_\(.DW\,LTA*2'F/DN.G)6R<$T/?GV[;&TN+;I>T.3=( M=F #E;Y(9B=R$13,:C8 :!? 'JH0EO%Y7&Y9:DTC'"N54WG?BFH/KD1) 0=G%NE.X]'R M7M0H^S$EH'P&\V:,;"7%C=4*40)%9SC9L%=-N.VJ7A5$L % H2,R]S,OEZY^U P MK)5[P"7@/?OG51+H3)1?T*;D.,A'&')XN*?YN)-'1] M9S(ZSCB:6WT:/@K^[XC%M")SVL-AG\%$*2;='TROTE$U]EF8+O"M'%SHRB!5 M-V5V!;25D^P]RWYJ0Y&,93O#:IW_O:PO:[@$ NU&_HLK\-K.XVI=VEGV8Y3S M&4720CE!E&ZQ4/W-*BC.R'#-NH*CB$TUI"^-G<9.WBT$Y<6,"%K()^O+5T( 0*^!7_'&6O1^3TYUY.?WY(>KV M)3+7G$'"*:[3R4.G#6/"Z>JL\0F9CW#R2/8<(<,[L]9@RNO9JMT:KA8R'39T MN*< 8LA@L"X7&D&BQ:W'G%,%)P4,(3V5RU2!SQ2A2-FJJ;(\@D6:' D9/\TM MJ+9;DBF0SR1;G, %;3M#((L]7P+/Q-LXV5[8?)1(T<>HSHOO/\:6'6("ERMK MF^9#/.R):3#4QM'5>O0#9V!=P%/8]SZ][K&@T9:VY[AEP>=G%Z'*>SC43.<_ ML\NX:P#]<+]9AG9JP3FI8&R;F5-/NW9$X5'XOWS*0Q^LF,:IR6^#^^"Q>1+F M//R1#O.N]K4%_,O#W!W^M)&0%E^Z/6T$ M,ZD;.@OI3ZP6/RCJ$)SR8OC+ MX&2/4U92>'WKU)$H Y)E-:A76!:X\+:#S;2(O4[^4O-MS.T!.\FCGX_U9\>'G"UH&"I^T>)$XJAF# P>Y4U7"Z%^?E[ MOM6"C%ED"^@^;!OY.%3JK,U5EI"@X,16Z>9KHB-O MN&_=I"Z/W)/C;TD=$YW!&:K6;ZK>!^PFUG7GPMUGS[:OSPDY@>(4D&H="#:! MAYS+_2ZY!57ORWI-K7OKO]34/_50+"L>E66*],OK)?36^'W"C+-X2'H 2VZ! M-,%0_M)%)90^Y34X1]AW+)O%YQY!&!PWA-1+/0CC*W6:<"QFV@TH<2KB!NVD MS.+[F3QN]62O.#[$20XF,2?DDIQ"1"/NC@G%B_/0N/+\J#![HXX2]G@=$(?' MAYAOTC@=-XL^T'3=? A%/\B/$YS(4+CC1V!/57^R!X#UZT( CY1"@!TY]8'A MYJKJ^N&T:A;Z%TP6KKQ,3 <]50]6)7(H<":LCK-/A1]3GY(_52E*Z0-JD"4A MC8VH/XPVO"=&BI:5U\J,!.,QHF@+<3[L2..>I->'#]B[Z&:/=R'/BRV M.TC&C+GO.O/A \8T$FQR4Q\9" "UHWX9'+4D_8K[-]8_F;:HT^3P(89IHC]] M;@?;0KA$HB(MXLF4M]XC.&;O_UOYZ!$CTZ@ S@IV3#L04EJ)7(YVH2MKO97& M@FJO387$M0P5^\U\TCY8,^TW8I F([8N))OZ:$6<\:V)"_3K$:U/I'U$5/.M M)GO5ITN);F<_J-#$@2KP0^DPH54FW4*2(LT#K*K6\OS-45*$ MXM@YLIFS=NJBU>5'.;E<=2X)N;3'<$L%7XRDV#+!X$^)0'3CT5I#"M1)R/2\ MET"5JI_<7&WL%'IMQ7QV'X-Q#:YO*NI)8(^%07DTR]?AS$;\EJQ!LDK$G6WT ME)0'=G^6T*)P<$%Q*!I'/9LXNZ$KU>00S>>O+OJ!:167)=H@8[O1CF,WP5"+ M (QP2"]EKZ%M*L8CIJ-EYK6DM#'*P1+F'=%!H_M(2>1U/Z8]4C.N[>;]^"QF MPS=>>@/1'%6KET'F7MZC5DF&216V;?20A'_?%T0;:K_[>MB5$QBSG/>Q1T?LFJ-?V MJ8;Y W!G)E#7E'@^ G,3W(Q M/N)'M6FR<9'?6"5Y^X&9$2ZH^CB1/_>0,7;'3^-^ENHHG6:Y.62WQWMLQ,US M7*HFP2"B0H^Q0&AR?G&\_?BA?.]9[^7QL>:A_J$)P#C '

:LG3[-;W ?T1NF33"].,AD!&"3H@W/U:2O,AJ%>G6.G44]M3>WR M06VLQ#GI7P'A)VYI3BW;Y)WG6XAA[0L#[VKK;T$?!MESH?T[3K#L'V/)'6J3 MLM_(EO4TD!VS)]P=.AS?S]+T+89[3X;)-)F'_>U[)1*D,6@1M=D6P7;W M+38Y0V:_1,_7%$+\2P\61) UO":&[JE6VI6$8WJ?-.6;4Z+0)S_E%GYI4;.$ MIZ) @R^SYD'$3VB-RSAN]R;"T>BI0FY=KY@UW8XV4E1]P]5$# M:B.\=,!471_BP[]*91\W$*/-;-ESM*^RCQO;H7_SQ?$NS+]IML:L<'W8H]DO M%D];:&)T[02RS>;M^(LL??0T7:32 O/@"9,?&$6L<8PJZI6EG"''D$\.(!\Y M@+U6_G.&1<>>VN%NY^)Y]K)[V2YAO1DWOD>S(^\&'&Y;]L61@2&=GL\,9W3: MH4]\D^*-\?#!)\/X%"DK&P2!\MI%+O6M]])[6,93IRV5_ 4G7.)'CU.8.#.4 M5Z?^=9^VH%O+.)BC?9DD]P6*L?^2XWA^3/M8@P*A :8U= HQU2O@*VVW&^\^ M:L@KW4#4TF>3W.:Q/D$<=AO)E.5B5G\>;/-M$'"5RFC+>LFMV:6MT[+%;UWJ M-K-X/I<7VZ21/&.RFCMJE7A((=L-[H5>6\) ^'4Q%CV*O4)2Y<7QG,AKI'6=BDZ(D[MF MI<.G#97"\^0;"[YQD+W6]&P=PHIY)9-.'(#\-S6)O=/K8M-RGW+IH*L=5;@+C3BF=#OL M)]:+H!LV#<66F3C&S"F6T5JXO:N,PXH0+UIRV>N\J^F&5EM[2(I^[JO_5I.:4^:\ M1BPXXKK[YO>1@225-O27E[[82W$NK+3-B=6^G677^_FC\>T7-DVV-%FX7Z E M3TV6%SD\5;2&O%*^-BH]>GVA#*(MMOGH=AR3JB%M\N)XIN.[_9C8K$#]Z%$0 M$@6"\5$W]O1.7B4T#\?BH)^ +NF[$)H:BF,7ZD=_NT@2J('-Y"4,'(S5>+$' M!\GK=/RSJ>O]8)#G-*HLTP^PN&W>EH,AQQ_*8,X+1'>J#?QM ./*S%$D9A[)< MIFUM*YP:OUD@"ZI+%!U?3G1LUO+1.,LVMX)K,5([MZJU5:U+0QU<>FQ^KU R MC(Z4T>L)IFV21*+L+VMY%W=YHBW?N%.T);#&=B^S1Q>/#>]:1U9E-.UH8=M8 M9(\N)S\]5.X1]2?$2/3DT\=1T)(O2Q!D E'H1\\>9SYS>O8WEK;QX'FY//+Y MXT/GZ>&(SPR0#B-LOQR8A=&3U>:%+@*_$Y>O9@B@=C1> M'0L+33GBWNU<%BIQUT/C:18O^FSTFA6+OG\^?9KO8S_Q)MERL6M",Y%YO@&V]O<#GX2:UY@VGKU\J]ZX>U+4'A"] M%*2U973IV%4QOVE+9XCW'<.P!,X;V3UY*VD#S>DB2>*5T5D$2K(:J786P1BJ M&#TZX0BO5DG=:N:]=[#YSHJD"RS//*0LA?>Z2=1$CW /H4.A^)/@0[;6#/H4 M9 RM+6:\,/;><%NHZEU]^.+&I;,JU=AZ]-Z[N"Q.&YD\@C?\<'U")?25QY]RSFQ M78O*8<9KIP+8[%MN%J_,]U%A($#L/@+DY,51\;<69P]L")*.67 M$8P0K>2CB+Y;E%8XV"GXICA^R5;2\-8>O?*/6HF#R@]29;;T"?R>@>A3?MK/ MHYWL-#X(;7X\.8;P=H7I"Q$YT3M)2]"#2U17-21"*'B^HX5*ELALB;Y8\B(H M\T9\X(BU(O+L9Y;,1>OC_N83-/]+=OX')HJ2)VUJNY=6Z16%<_5MR;,*(R0A M:!0$[T)+K.*2*:[R:^^R]%*4?'@G01#._T)[:F.WV_SWUI=;Y%8GF$!#\[GG M)C9]+U5=>266DN\B$I>KFDSWI)@"SZA+KM_UH7W)Z[$.2!&C2@VKO>NY2\1: M)H<,Q?M)D#/MWW2;V'^_:UQ2[(69*QA9-/Y]U+?MH96^S$@&[!*5A.4X\=D.\/""- .P;-% C[N+S*K5(ZA2$%*R MA)1WO/I5W" J0M*.\Z!1?MD$G,NG>G3C/I=LSPV$['B/;GR&-'>%E21O/[" M/?/Y1I)<]U5Q?0+5=9;;/M)IOTF+;@RXO.]L:6>71YB(M]K$>@HGS M"T"/+-)*NQ1C^YP2N*^\_0"Z7/:]V:LS]_3)4;:YW\UC=^5>%)6^/G)N&1.M M]B[XMR(R,!;F)\01-4,6[Z6,IP\Q\H0=4LLDK8(D )&R*-\,=M41?\@7:-S[3?,\4]A^TX.UR>>-] MSW*/.3PVM6)S MX.J#N-9;(YXF6I)D%6J04RL8)U0&UQ;87VWIJ']C4[,NQD MX7=@H$!=OG,_MBQ,O%AOF)$%D 3<40X=$&?02YXH$\BOKN>\CHDI$+W%>*:( MA%<+%Y0T9?&,FG3\WB_V/K0G20/3X"D7"W#3WE)?8A4I_K0V1/U@5H1X8/1= M*+W1VAIN*I/'HL87=0:(_A-DW=Z4-E=*Q]#RQZM(6CL:1)B%[/:JH07WZ2O. MT8K0EU^BS<1(0L1>3ZXOSHPAK)T)AZ_O\>4\&$7^S%W2- \L3KJ>]R3=NHDC MB2'U[!*L3G@.X3$QU104G>7S"0,W?J3O[NCUYTA:VY:/) ]'I0'^M2E?#S+N3M M6=:#3=Q%8#B\LT5R.J*"&@WT'5C1,46[^"BX.&L3'E73H0O"IU C=+Q#>W5] M<4F"V^;>E?+QE-$1%P$&*"\"ZE4 M'QM']I0OJOZ\5UC4 MA_=@'C,#.&?L(; _?3'0]+&RU0;L^C:5O-$Z'6N/$+_ACGAY$1>":IN%B*II MTJ::W@MKJ"JE,*D+WD>VS 6^2E,)S(X0I2JY$C^/!V^')D1_8FBX<_=8-KF^ MY@GWS<"TD7V2H_*F*5IME*B.S8!%[MO 1YMD]Z_\'IOL_C4="]3^NY1;F#^* M5ZG&^=U4?V=6W369'@*\&_2EMHPD. >67[(X0.W?M[5[3/TCXB Q:Z4JE=<> M)X5PXXZ)67<@7BHOY8RBR:%GII]%.L0D63ORFE0_H1?+YM?_+7W)D(7F?3PD MY_V<$HS8X7@MS]C>#-QZB>;%V=+Q.WUQJ;U]::>*4=')9KH<;77'*[KBMV7! MJ:=YN@@K3P(Z29YGNF2L+4ATSW]FZ?D%&W2&G^PZUB']#O7XA@3H;8J-L[@-EN,E&+ MFK,7H?$,]Z*Y.#_[PG_$U /@Y5DB'/I:K!LFY'QDW5P M7V@KQOE,P<=GV=O)8%'N^B1#2MZL(W4R^I9A?W#?-J+/0RE21Q(UP<[]@_3G[ID95CW3F\ MHZ4J[3YUUEFD*+I1C:64$F)T%(68 I9)^. W!'QKO#L=.7EEPQ"$8YP6GI2= MI[GK'%"[B5]<()HU]TD'_$;>F?1"O(D*3&M\[IK(.?J)G3Y"$[.+XZW'WDD_ MY*CPC@ZQ:>$?TQ!KV9)@*&=3*?^:H=E2UC^OKG_-?FK/2(!+J(6E2^ MB5I4?1+2R9$]O3RQ>.7V8^BV:W1=OI+(N+\P!8QQCIT M#5&DF):\96FYP/L\1&!E_R#I@G>1BMA[>I9%SVK\53Q3<3&G3TWG%@2!4R-E M[5L;L[_2=VKPK@&N+92!4!2']Z8%\R1ZPRSSIC*I/*,5K[^J@[[J+5?W5E\5 M'OL0[FFOU&@7C(B&LG@IV8G:RW)5QFH%$TQ]9EI?RQ=1P;Z_ #^G[5PL23?V " M> =X>:_^'U!+ P04 " #P26A7P,S7'K4" #3!0 &0 'AL+W=OAJ36RW#M5(DRBZ#*L&)=!.O%WMSJ=J,8* M+O%6@VFJBNFG.0JUG09QL+]8\**T[B),)S4K<(GV6WVK20H[E)Q7* U7$C2N MI\$L'L\'SMX;?.>X-0=G<)FLE'IPPI=\&D2.$ K,K$-@]-G@-0KA@(C&KQUF MT(5TCH?G/?I'GSOELF(&KY6XY[DMI\$H@!S7K!%VH;:?<9?/T.%E2AC_AFUK M.TP"R!IC5;5S)@85E^V7/>[^PX'#*'K&(=DY))YW&\BS?,\L2R=:;4$[:T)S M!Y^J]R9R7+JB+*TF+2<_FRXP;]K_PR50C3.$UW=L)="<34)+ 9Q9F.W YBU8 M\@S8%=PH:4L#'V2.^;_^(1'KV"5[=O/D). 2ZPOH1^>01$G_!%Z_R[;O\?K/ MX-U3A[1)SEPW98 M"B>#'$\!MD@#EZE"\M\$_9_!@1GJ($%C;L:]U]1.ME2-(1=S!C1!)"(]&EL8 M242@:ML%7;L %=MBM4+=5;QW3;B@UD1F@[)!> G),.DMB"?36>EQ ML! /![TE#3B7A=?1FGE ZZ3X\JKW"26E(;R&Y90#=X5W2P'B\V'<[]TI2VJ* M<1Z-1G"L@N'!H%6H"[].#*7?2-O.7'?;;:Q9.ZA_S=MU=\-TP:4!@6MRC2[> M#@/0[0II!:MJ/[8K96D)^&-)6Q>U,R#]6BF[%UR ;H^G?P!02P,$% @ M\$EH5W4J[8"# P >@@ !D !X;"]W;W)K&UL MC59MC]HX$/[.KQBE5;4KY3;O@=T"$FQ[NDJMNEJV=Q].]\$D UA-[)QMEMW[ M]3=V( =JX"HAL)V99YZ9>9QAO)/JN]X@&GBI*Z$GWL:8YBX(=+'!FND;V:"@ M)RNI:F9HJ]:!;A2RTCG551"'81[4C MO.G9G#VHZEEM3<8$/"O2VKIEZG6,E M=Q,O\@X'CWR],?8@F(X;ML8%FF_-@Z)=T*&4O$:AN12@<#7Q9M'=/+/VSN!W MCCM]M :;R5+*[W;SJ9QXH26$%1;&(C#Z><9[K"H+1#3^WF-Z74CK>+P^H/_J M[#>18?F"&3<=*[D!9:T*S"Y>J\R9R7-BF M+(RBIYS\S'16%'(KC*8"%\B?V;)"'P2)X>K)KO7U.# 4QAH'Q1YRWD+&9R!O MX8L49J/AHRBQ//4/B%[',3YPG,<7 1?8W$ 2^A"'<7(!+^ER3AQ>\G\Y/Q[E MS%8&%X5EMS 9ZDU_#E;:J-(1'_U5:0-F/8'M!?K3C>LP(E' M-T>C>D9O^NY-E(?O+Z23=NFDE]"G"[JHY;9"D"L2>7\[^SA?1.WGW*,6*"3= M4&VPM/'-QE;.%I&+]=W@B@LZDEO-1*FO@1IIL%Y2G0_=A \$U)Y$[B0>/"E6 MXE$ #6\AO?5O\X062>8G^7#PB!6S$1NFS.N)[7 XA'=O1G$4OR>K9Q1;AR77 M@O]##L0'7PJD?A+9):\HZ[6&./>C*(,H]4=I.OA*2:@3T!SB;/ D#:M@F/NC M/((L].,D'YS*I6CE4I%MKD?E$9O[)_&&LQ9Y5@Q TM<X(M?P9D@Z4.VD:S=&-FZZ+*6A6>66&_IS@,H:T/.5E.:PL0&ZOQO3?P%0 M2P,$% @ \$EH5]Y6D%:3 @ B 4 !D !X;"]W;W)K&ULA511;]HP$'[G5YRR:2H2:T(2:&$0"=I5ZT.EJG3;P[0'DQS$ MJF-GM@/EW^^<0,HDREYBW_GNN^]B?S?9*OUB=3%1E!9?XJ,%41<'T M;HY";:=>WSLXGO@ZM\[A)Y.2K7&!]GOYJ,GR6Y2,%R@-5Q(TKJ;>K#^>QRZ^ M#OC!<6N.]N Z62KUXHS[;.H%CA *3*U#8+1L\ :%<$!$X\\>TVM+NL3C_0'] MKNZ=>EDR@S=*_.29S:?>M0<9KE@E[)/:?L-]/P.'ERIAZB]LF]@H]""MC%7% M/ID8%%PV*WO=_X>CA.O@G81PGQ#6O)M"-:-U#A.U C>%#2 MY@:^R@RS?_-]HM5R"P_])]>=W#+32J4 MJ33"K]G26$V/X_>ICAO ^#2@$\S8E"S%J4>*,*@WZ"6?/O2'P98[CW]VA-V[KCD]"0S6"N5&?@(@UXE66"$./> M<#!PR'%O%(_@U&_WC]11H%[7,\ U74G;"*7UMF-FUJCK+;R940],K[DT('!% MJ<'EU< #W>B^,:PJ:ZTME27EUMN<1B5J%T#G*Z7LP7 %VN&;_ 502P,$% M @ \$EH5[5,%19Y P < < !D !X;"]W;W)K&ULA57;;MLX$'WW5PS4HD@ Q;KZDM0VX"0M=A^*!G7:/A1]H*6QQ2U%:DDJ M3OY^AY2M]6)=YT6\S9PY9\@9S79*_S(5HH7G6D@S#RIKFYLH,D6%-3-#U:"D MDXW2-;.TU-O(-!I9Z9UJ$:5Q/(YJQF6PF/F]![V8J=8*+O%!@VGKFNF76Q1J M-P^2X+#QA6\KZS:BQ:QA6URA_=H\:%I%/4K):Y2&*PD:-_-@F=S&WSC MN#-'V=B M4'/9C>QYGX6;:8:;4#[:P)S4V\5.]-Y+ATE[*R MFDXY^=G%@\:&\1*8+$'9"C4%U1JE!68,6@,7CVPMT%S.(DOAG%-4[*%O.^CT M-]#7\$E)6QGX($LL_^L?$:WK@>IN>!5QA,X0L#B&-T^P,7M9KSSQ>]HKV M#\_TQ WZ''SV.5AZ[2'<[7/Q8[DV5M,+^GDJ#5V4_'045U4WIF$%S@,J&X/Z M"8/%NS?).'Y_1D/>:\C/H2]65*5E*Q#4!II7[O(4]_/HK[Z.0E%Y&HNEBT\& ML%&"ZIS+[C@8'0MA=F8$T3"8)9.$HS_M#RY[=R2B&9)P-[G&#Q+DDKL8Z MFAJ?4+8(U]<3>/=FFB;I^\&JU6A?R$0(9E$S 0DD\63P^93H/!Q/KB$)\W@T M>%26C-]"DH7Y>.HF<9C%.2SM"<'AZ21R68B62H2\L^&(JEP(U["(Z@6_! :F M4MI>$:TZ)%L:T=BK-3)-:0:A&*59D5G7+5"'A L[ZG-NO. >0BIY]3_7@P.P M\HG) D-8$S\7=U?QH@*FW7UJ]ZZN&JW^HD;J+]SJMFNI&R[)ST'YYLHM1S.$ MQPI=,=6JE23.@1@DQ:1O_7(4L]-.;X/XEB5W@$R(%U((2B(4U&J= SM$H31O M6Z89J<#AJ*/'H&F*_V_].EET7_=>\^Q=]8GK+I0&!&W*- MAY-1 +KK[]W"JL;W5$H8R?'3BGZ)J)T!G6^4LH>%"]#_9!?_ %!+ P04 M" #P26A7"80)*L$# #Y" &0 'AL+W=OM7#-2B2 W^K85US:0I+MM@=W&B-/V4/1 2V.+B"1J2Q!%BC-OWG >2NXN9_;:4BYEH=)><5UHJ+&B1NYNY-,+U-C+TU M^)WC7IWTP62R%N+)#'[)YZYO"&&)F38(C%X[O,.R-$!$X\L!T^U#&L?3_A'] MH\V=B_(/GNIB[J0LY;EA;Z@>Q_QD/^5B"F2B5;6'?V2:)"UFKM*@. MSL2@XG7W9L^'=3AQ2/VO.(0'A]#R[@)9EC\RS18S*?8@C36AF8Y-U7H3.5Z; MHJRTI%E.?GKQ"2DE!1>/;%VBNIQYFD#-E)<= &X[@/ K -?P6=2Z4/"ASC%_ MZ^\1F9Y1>&1T&PX"KK"Y@L@?0>B'T0!>U&<86;QH.,,_;]9*2Q+!7^=R["#B M\Q!F8TQ5PS*]ZV$TN)BAPN9H#VE-.8FI"X0-J*DS; O'/!:\(4K6)UKBYM$4T3OO:<^P8ETQ3NP"L32L.W$"8!M<%X M3.TD3JE-$M]9%4+J[S7*ZM0ZB$(("#2*8GI"YU%H5KZ%B]+(@*8&*!CY:4CO M- V=!VP(D7CS>NK<&5M:!8D[K%LT#G%B6<2&1> ;%J%Q4LAD5@!E19M^1X=9 M0T<3$8DA""#VB86SHK/%9&5LJ*)/:',,R2*$,2U XOR$-:5>6@N6TW;F1I/F M7(+ ]^D)()P0EO]?,H(!#2:]!I-_J\&/K6XEP@.:(]TDT(ERR5Y,P@KNUR7? M,G.DJG,*'8QS7J&'B+*/*-X)I.EB@W@-#7LD%Z8.VE73]\)[J\HNFYQ&E*%5 M(BUD<.U0-X8T2$TG@4F2F,[X.#6!X)HJ45 HMB$)DBS>U*4YKDDX,AZ?4*DI M\*II.WF1!U+A+LAM I?.TB1,6>Q824HC'N_3+#E;\Y)K3L<5T1OY2>C[FMA::KTG8+ M^C=!:0QH?B.$/@Y,@/YO9_$W4$L#!!0 ( /!):%<8V<19VP( #4& 9 M >&PO=V]R:W-H965T2FW:_?I2=>!F09A=+HLC']R21GJRU M>;(%HH/74BH[#0KGJK,PM%F!);?'ND)%.TMM2NYH:5:AK0SRO DJ9F]#\I)':1!,YH?RE/#A#NX+BW&QNZ'Z->P.N@HD__!_9 YA+KERC_GJK'GZ>+ZPS]&!^[9/>(B?[ MD7T1G=F*9S@-J$HLFA<,9I\^#$^BSP=X)QWOY!#Z[(&*,J\E@EY"M??J]C$^ MB+F?\?YW 9FF3O,"J6E7KWM."=)!'&:]AZU)M4K.$UC&+.D=\DKX;@4OTF(U4NWY@8A.4V! MI1$YTQ;$@X@HL$'*3GOG65:7M>1>=XYT2)EHDQX1D7C$H$^S,1M!OW>HGDC5 MX&2<-N,H8K#O/80[I5RB634-R]*YU\JU5=U9NYYXWK:"O^YM0[WC9B64!8E+ M"HV.1VD IFU2[<+IJFD,"^VHS333@OHZ&N] ^TNMW7;A$W1_BMD?4$L#!!0 M ( /!):%- , )4' 9 >&PO=V]R:W-H965T)*$5Z M)!4W^_4]4K+J+8JQ+Q)YO'ONY>$=YP>EOYH*T<*W6DBS""IK][=A:/(*:V8F M:H^23G9*U\S25I>AV6MDA3>J19A$T558,RZ#Y=S+[O1RKAHKN,0[#::I:Z:? MUBC481'$P5'PF9>5=8)P.=^S$N_1?MG?:=J%/4K!:Y2&*PD:=XM@%=^N,Z?O M%7[C># G:W"9;)7ZZC8?BD40N8!08&X= J/?([Y#(1P0A?%WAQGT+IWAZ?J( M_I//G7+9,H/OE/B=%[9:!+, "MRQ1MC/ZO +=OGX ',EC/_"H=7-T@#RQEA5 M=\840.?)0;9MERKM4!M-,F-+?PJ7IK"HY+ M1\J]U73*R]Q-(HS$D49*>P4O[ M]%./E[Z ]_,Q1Y?P22U6OA:PX287RC0:X<_5UEA-E^BOH3*T7J;#7EQCW9H] MRW$14.<8U(\8+-^\BJ^BMV=RF/8Y3,^A+^_;?@*U _Y?-H=B/8LV'.NS6P*Y MHKXT%@OGUE8(.R6HP;DL;T<77))(-8:*:B[AO;&HNZYQ4VF'>2V$N2T08?:7[L"<-B7DDE5/D$R22#-Z]F21R_A702 MP6M(QEF/2@+!.=K)6L\KRI&^72EO_#_'"X@'@\RV9PZ5?3:UJ- M7FB-UW"57=,W'L=Q"F?XRWK^LO/\T: M&O)"E>Q[SD\K;I^&"#P+-TS@IM%$ MC2=*DC[4;5NB:\L!!L:]?[I2H!K]([ M$TSF" =FJ"P=[>89Z9_^AY?1NL-B M]CGE5.'K<9;.1@^:22..-*4W&5%S8CAP?9QE/!WF)CP9E37JTC\([CHWTK93 MLY?V;\ZJ';4_U-L'ZR/3)9<&!.[(-)I<$R^Z?03:C55[/WBWRM(8]\N*WDW4 M3H'.=TK9X\8YZ%_BY7=02P,$% @ \$EH5^_7^-*0! 10L !D !X M;"]W;W)K&ULK59M;]LV$/ZN7T&H19< :JPWZ\6U M#21IBQ58LR#)UL^4=+:%4J1'4G'\[W>D9-E)'&/#]L4^4;R[YUZ>TTTW0OY4 M*P!-GAK&UC$:J7$%#U858 \]!_K M6XE/H\%*53? 52TXD;"8N9?!Y&IL[ML+?]:P40L;0,"@ MU,8"Q;]'N ;&C"&$\5=OTQU<&L5#>6?]JXT=8RFH@FO!?M257LWUA?D,CW2.B'T0E[T9")R-J+_I],7!9* M2^RI8YGH',7''1F:3=2:EC!SD4<*Y".X\P_O@L3_="*,> @C/F5]?H^TK5H& M1"S(OPOI6"0G?1V/9.<4#IT*Z[3LG;*#/)8"":XT*B!@O$46@N&DJ/ERXIS5 M'(]$J]"$.B=8<0U-@89V92>?H>Q/ GL2.COWI5#:F)3P"+P%\IX$N9>C"@J1 M%^29

,&K]K*O46Q\-QO<"+_)A\>)>%0?CIP'ICHJ-VL@1>DB0D]I(L<[KL MTI1":LM=7WI-P[*5I9H3(R_+$^4&EI!RQ];DU=U(OC0;[[X/W:AF'0 M.OEYCBG#EM!'BNGA M7-N2PG1 BRU3F \&P0ZX$1K+D'K$?5XQI!]6H.R NQ?D!'G& WG&_Y@\FUWV M=ZB/\>.DN;?X@=\A4X]B2[!6M:B(;7,@U]A4E&]_4:]]XPEF3?7D4!/G824! M2-.-5# C]45&;Q#+B?G M7I3&#NX$F@'N %IA>AAV!VF>H<6#Y "OGJ RF'R;](#G.O?T0,+/IQ7.OR9'EQ[1C+PR0XUZ MU)YAS*=$4I$T8SGM-(('(E8D("# !&]K_O@J1HI5%T:"_@8HG] M]ML'L(N]5%]TB6C@J:Z$7CJE,8LWTM6Q0T)^M5#4SM%4[3S<*6=$9 MU947^O[,JQD7SFK1Z>[4:B%;4W&!=PIT6]=,/:^QDONE$S@'Q3W?E<8JO-6B M83M\0/-'[ GQSW^D@&&\E&RB]V\[Y8 M.KXEA!7FQB(P^GS#6ZPJ"T0TO@Z8SNC2&A[+!_3?NM@IE@W3>"NK1UZ8C(E!S47_94]#'HX,4O\G M!N%@$':\>T<=RW?,L-5"R3TH>YK0K-"%VED3.2YL41Z,HK^<[,SJ5M8U-Y1E MHX&) FZE,%SL4.0<-5Q^9IL*]=7",^3+6GCY@+ON<<.?X&;P@9!*#;^* HOO M[3WB.!(-#T37X5G !VRN(?)="/TP.H,7C8%''5[TGP)_QW5>2=TJA+]N-MHH MZIZ_3V6A=Q*?=F)OU%PW+,>E0U=&H_J&SNKUJV#FOST30CR&$)]#7SWT%PGD M%FY+1MPU< %W2A9M;N"1*<6$>8;[WK$^1?^L@]/T;^P]XH2[>88&%9>%]6I* MI!36#1//OVC8'WRS/%H.K* M_)&XG/D_N>RA) M!JK+&WSBVO;N(>W=S85H%G4063B@AV&O2+*4$(^20^G]/BV!FTV3/AM)&OVH MF3S^4%]&-T5A(Y5!VP_SR2>*4=$+IA1%/Y*VU"XH.0FEZ )2-_+C?^\'2R'% MFU/6L1L&&:UQDAW+_R\>6\/7K](P"-[">Y%7K:9183'&^&RN\:FA64+Q*2II MP=G+6.FIG;K2WM'37*/:=0-(0RY;8?I7>M2.,^ZF?]I?CO<#\@-3U,0:*MR2 MJ7^=3!U0_=#I-T8VW4._D8;&1B>6-*=1V0/T?RNE.6RL@W'RK_X!4$L#!!0 M ( /!):%?K7(P\]0( &8& 9 >&PO=V]R:W-H965T)2.S,-M#^ M^YT=2*D$2"@^VW>/G_/Y'D8[(=7*5;5$EMF@JG0#STO!. M'=E@,ED(L3:3[]G8\0PA+#'5!H'1L,5[+$L#1#3^[3&=]D@3>&P?T+_8W"F7 M!5-X+\K?1:;SL=-W(,,EVY3Z4>R^X3Z?V."EHE3V"[O&-PH=2#=*BVH?3 RJ M@C][?PU% WSL3$.P# LN[.UU73VQ1HKH>N9J.,<-I#!&<@!/ BN M8;9VWB7Z+4<@P/':7 1<([U+81>%P(O""_@A6W.H<4+S^'E3.+-U.8\ M8R_TQ#3<2.70)?3*GGLPV)8)8@JWR8 OHM14E-KH:=IUPB0M4\ S3/ *B(&JL%2EO)'T3@PG[GJN"@<[%1C&?J MVA;>?()7JW,OE#;W('&+?(/P'OR^;[Y=/P[M&/IF#+IQX'<>*2LFB3$!4M=N M28UJ6^Q^#%&_!U$T,)%AU)F30A1\91U)I]:HS@'/ODEH=?YBAPE M*ZT?RZ@U"_-HC,9 +_$@[@;) ))NE/@PZ YZ7N=):')7YV_5C M<=#UHLBL$UH[(!L5*V9:%%;)5D(3;IDS9S^"% :!]I?"J$/$W- ^]&ULC59-;]LX$+W[5PS4Q2(!M-&GY3AK&XC3%%N@+8*XW1X6>Z"EL26$ M(K4D%:?_?H>4K#B!Z^:0F$/./+Z9-R0UVTGUH$M$ T\U%WKNE<8T5T&@\Q)K MIB]D@X)6-E+5S)"IMH%N%++"!=4\B,,P"VI6"6\Q&5P#L%NJUK MIGXLDA*"E"XF7O7T=5R M;/V=P]\5[O3!&&PF:RD?K/&QF'NA)80<$.%:Q*IA#.OK(U1WT^"PQM8-V"O =;=F#Q3\"F\%D* M4VJX%046+^,#(C:PB_?LEO%)P!4V%Y"$/L1AG)S 2X9L$X>7_ 3OEBE1B>UA MMO]\-5C 1Y'+FK2S6IX_IW#_4J^GHY-@U1=M$015-_,DW\RSB"*(S]*$O]=#RF M^9CF4W^Q.-AF#P/)U,X/]$JXZ%5QF]N ME6MA*D>*;CN2)F]592JJS^U3SELKUT;)^G5#[=O("M6WTLD>.DGG^+F@2Q2: M5C526[$VD#L&5IWC)?1A]UII"J'&.R9X(4%( Y5P.4(C#5(9&.<_8*B%?JZ% M*9D!*Q,CKS_V'CXP3>!R)V!M7ZN+D>5L2J0_>RBLW.*MW3^Z/H0^W!Q?"''8 MIH/WRTI^E$RA8F? MAA,_29)? S'3R]@=E8F?A02;I:.[?<5?B?0RV;W28G\? M/!^8H0X4&T5^2,6<9B%$8S^,0C^93N#8.0D.7KX:U=:][YHXM,)TC^ P.WQ" M7'&ULK9Q9;]M(%H7_2D'3&'0#2412HA:/;< Q M=\ #(^YT/PSFH4R6)")4J%?,N7PV+-&8WJH#09 M&IHV&:8TS@:WU_6V1WY[G9#/3!^X8O\7(EJ@W# MV^LU7;(G)KZN'[E\-]Q0HCAE61'G&>%L<3.XTZ\"8UX%U'O\%;/78NVWVU 0G+0N1I&RQ; MD,99\Y?^:$_$3H ^/A)@M '&?L#T2,"H#1B=FV'@]D&F.=FF+0! MD_V R9& :1LP/3?#K V8G1LP;P/FYP;HVOLWI]4*:K[R6B\6%?3VFN>OA%?[ M2U[UHA9='2]E$F=5?3P)+C^-99RX?6KJ@N0+\A0OLW@1AS03Y"X,\S(3<;8D MCWD2AS$KR$=R%T5QI6J:$#]K:K/2^.\6$S1.BC_D+E^?+/+[;W^0W\B0%"O* M95R--8XT=D0>\DRL"F)G M$8MZXFUU_/Q4O*N.UPT%8"C/_.;T&^^G_[.A)#Y0_HD8Y@=B:(;1=T+4X4]L M_8F,M#I\U!-NG1_>E]W^M>S.KV5WU>$6"V6X?C3<.S]<[PGWU>%WY7(3WG?L MP1G'KH_[&M_1T6A3QJ.:-S[6G# LTS*A@D55[R +5O0TZK,24G7%5\6:ANQF M(/O:@O$7-KC]YS_TB?:O/FDVL$D-J[KAE]N/QFPZ-V?7PY==#2*3VFLBD/A(6@& =;8XWVAPKM?EO.#*:C?8$/3[0X'BNS?84Z![N]=$< MFYJV)]2>W?21,=_?ST<>9P""=31H;C1H*C5X+_77)S%EU*42,P^^R)%^<.XM M9$K[K)0.,J6+A'E(F(^$!2!81ZV3C5HG2K7^+:>4U>4QI.M8T*1/N$K I<*= M'*AH8HX/A(M,:9^5TD&F=)$P#PGSD; !.L(=[H1[E0IW*]9W<<_YUP&M@JF MI2"4\/>K3Y3#N0,#*E/3V0<$]*!YG21<(\),Q'P@(0K"/AV4;" M,Z6$O[#O9>1E+1\E<:",!JNR/>27UPG)1K4J'G,FK+>%Q\>T#63->?4R7O1)4 MLR_58$OKGBY]3X/0E/8Y*1UH2A=*\Z T'TH+4+2NLG=\%ET]IZ.5P+O%;$2<[&(D30+2K-/G3!&UCQ_B2-&"D&SB/*(T*(HY5D,&1%O:T9> MFW-:F5.R7R)YR:N0JL=J-LC+19Q'!5FRC'&:)&]$[KZLYB4+GJ=$O.;5$$^P MC+PQROO6(!WH(;M0F@>E^5!:@*)UJ\W85IMQ8MSRPK*2$<["?)G%_ZL7GL.D MC)H5Z(@M&)<=B_R\WJ^W$)49+BY$),V"TNR6UAF\3PZ&[M"<;E].[6 !VH,F M]:&T $7K2GSK^.EJR^\^3U,Y+B]$'E8C(\K)"TV.2!GJ^[6T:7<:U3TSJP?-ZD-I 8K6U>G6_=/5]M]#GK$W\D#Y-R:(4V91\8%00>YE MW_U6=<5_'54MU/_3#STO?:8?K!!"D]KG)76@2=V>I,;AVKH'3>I#:0&*UI7L MUBS4U6[A4W5-K6^[BTB8IVN6%F M-NWN9?>PYMIXO*_!GHRF8>X;S-##]* T'TH+4+2N!K<6H*[V -UFSD+DS(?0 MJ%I]+NIED9=^]4']P);6N6SI8_V@@^_9;:29\WW]'>XVTC5S_P:'OMWF\\ED M7X!0&P]*\Z&T $7K"G!KY>EJ+\_/7E@AWGT0&M:V",E?I2R+5;R6TRC!9-[> M^\S4Z(OE..U9%MN_^E^5!:@*)UI;VU^'2UQW?WYP-Y MY/F2TY3\YX&ESXS_MU?&4/,.2K.@-!M*BWGI:1NU*LO3GRQ]*&>))3F0&DNE.9!:3Z4%J!H M7>EOS4-#;1[Z4M_9,GY.6&4XL^J7B[(4XK3^=559L$69D"1>]%< U#4\T5"C M\:W)A*3USQ)[ZP-J%?YZ@QQH@UPHS8/2?"@M0-&Z1;&U&PVUW?C8W%CQ?L_% MV_$*@)J-4)H%I=DGSIAQ_*X2:#M<*,V#TGPH+4#1NC6PM3(-M97Y5#YO[MUZ MOW6$A'EUOZ*L#,%XVOL[1C7UXHI TBPHS3YQ_O2Z(GH+ NJ 0FD>E.9#:0&* MUBV(K5%JJ(W2!_KC]+P9:HQ":1:49D-I#I3F0FD>E.9#:0&*UBV)K6]KJ'W; MGYLW3WKFS>;^O!GI+EI0F@VE.5":"Z5Y4)H/I04H6E?Z6\?8..48_\*\&>H8 MGVCHZ.C(W(*VP_[I=CC0=KA0F@>E^5!:@*)U2V#K+!MJ9_G\63+46H;2+"C- M/G'&=$U1!% ?&4KSH#0?2@M0M&X1;'UD0^TC_^PT&>HF0VD6E&:?.'^JA2.H M

5":#Z4%*%I3$<.=YRVFC"_KYWL6I'YD8I5D9^OF&:)W]9,S][;?ZU>6
MWK/=UJ^9/I ^3+."I*PA6R"]FDJ9T&\>39H\T;DZ_HI
MD,^Y$'E:OUPQ&C%>[2 _7^2Y>']3)=@\H?7V_U!+ P04    " #P26A7N5&/
M?Q8$  ".%@  &0   'AL+W=O6Z*M>>JJHO#!F(U21.;0>ZW_[L)!L("A9L
MW7T#<>+Y>_RSQYKQ>$?9=QX!"/0SB5,^L2(ALFO;YJL($LP[-(-4?EE3EF A
MFVQC\XP!#@NC)+8]QQG8"2:IY8^+=P_,']-
M7GPDFTBH%[8_SO &%B ^90],MNQ:)20)I)S0%#%83ZRI>QVX0V50]/A,8,^$0:\RZ!5DRJD4' (LL#]F=(>8
MZBW5U$,!L["6TR>I6O>%8/(KD7;"O_V1$_&($A 1#1%)M\"%7%:!WJ%I&!*U
M-CA&=VFYP]1*O0E 8!+SM[++IT6 WKQ^BUY+2S0G<2P[\+$MI&-*WEY53MR4
M3G@GG.BB.4U%Q-%M&D+88C_3VX\T]K8$4E/QGJC<>%K!!60=U'7^1)[C==O\
M^37S0&_^'I8=Y(S:S!NSZ=9KW"WTNJ? Z!I5ZSTOU_NN7F^.OMY+
M,W0G(.'?VI:P'*/7/H8ZGJYYAE3YPX%MP?+_>.4.G+_:^)D4"PR)-=CV
M:K8]G;J_)X@$E:>8Q,LDZ%T*C$WM(
MZIQ.@=;'9Q+HUP3Z6@+_8A+E&/TCC_A;.>O-(_HZAV0)K'47:;4NW44FQ0)#
M8@V&@YKAX 4B=&"2K4FQP)!8@^VP9CO4[L\/=2QFP%82I$QGVNAI52ZE9U(L
M&+8< 7VW/@(:5*YJ*E=:*L'TRV=T?S_3!JM6XE(D)L4"0V(-=*,:W>@%@G5D
MDJU)L<"06(.MZ^SS4<=(N.IE+@5H5"VHU)H1Z_3:(]8]2-5=+9IIG$48+01
MK U;O%JL^WSP]=H.6%4
M+:C43N;<333[2L'5EPHSG!$AB^F5K%496>;B9+%A7(9*GHKR+J]^6U^V3HLK1GO?O;RI
MG6.V(2E',:REJ=,9RIW-RLO/LB%H5EP'+JD0-"D>(\ A,-5!?E]3*IX::H#Z
M"MK_'U!+ P04    " #P26A79@?K3($#  !@$   &0   'AL+W=O2;R9>Z&TWKHMEKO2&/QW7= ES4)_K*X$KOT/)B@J8+#@C
M A83[RP\G86)3C 17PK8R+UKHJ7<<'ZK%Q^RB1=H1E!"JC0$Q8\US* L-1+R
M^-&">MT]=>+^]1;]K1&/8FZHA!DOOQ:9RB?>T",9+.BJ5-=\\QY:00.-E_)2
MFK]DT\8&'DE74O&J348&5<&:3_JS+<1> N(<3HC:A.BA"7&;$!NA#3,CZX(J
M.AT+OB%"1R.:OC"U,=FHIF#Z&.=*X+<%YJGI-62KIJ %(^B*%,@K,F_.E/ %
MD; &01EN4Y81!0(Y4!W_2D!)%60DY5))\OP"%"U*^0+3/\\OR/.G+\A3C?DI
MYRN)N7+L*^2K[^JG+;?SAEOT%VXQN>1,Y9*\81ED!_)G]OR1)=_'.G7%BK;%
M.H^L@'.HCT@H].W)U=;/#BO^!]Q0>D.;(S_3 4ZA?Y]A%C
MR <%E?Q^J. -X/%A0/W*.)4U36'BX3M!@EB#-WWV)$R"UX?4.@+K:3_NM!_;
MT+&66U_.M/\.:6T $@.@WV;K:10,AV-_O:_AGJ >MT'';6#EIAGI9T<@1[8"
M\NT2JAL0!P_$BO38 W$$UA.==*(3UV9,7&IW!-;3?M)I/_E?,S8 @WV?#:([
M7K3'])@-.V9#*[-KU$I%FINW=X8T2U[CC["R>M(*^=AS<0364S_JU(]<>W+D
M4KLCL)[V,-C]L@?_Z\H68=]RX>#XCBWO">JSV^L[PGO8E;BU-,;$9N,6E%[9
M;&D'?.S9N$+KRX]V\B/7UFP17>EWA-;7OVM=0FMW\"!SQG_Z+AG=-:<]J,]N
MUUR$]N[B'3!D5QIST@Q;WD(J0?7 87>H%?71)^0(K5^#71,3#IP[U&DWXPJM
MKW_7SX36EN%!#DW^Z![#01C?M>@]40T_?V^&JT LS6@K<;I:,=6,<]UN-SZ?
MF:'1WX4WL_&TFPANN<+XTESG0#(0.P.\7
MG*OM0M^@^Z?"]#=02P,$%     @ \$EH5YB226G5 @  V@@  !D   !X;"]W
M;W)K&ULK59;:]LP&/TKPBNCA1%?Q!\7^DHC*DB?)20O[\=/%\9S@F!;R8DOR=\ZGRQPM@^LN2BQPKW14K7Q8"<&9!.?6C(!CY.2;,B\=V
M[%[$8UXJ2AC<"R3+/,?B=0:4;R=>Z.T&'LAJK7[-D
M) "TE(KG%5C/("?,O?%+Y4,#$ V. *(*$!T"HB. ?@7H'P#"
M8QD&%6!@G7%2K \)5C@>"[Y%PD1K-M.P9EJTED^86?:Y$OHKT3@5/T!6NA4@
M#.E=E (ZGV89,4.8HEOF=I;N7:#S!!0F5%Z@,Q-]1RC5XW+L*ST10^>G5=*9
M2QH=21JB.\[46J*O+(-L'^]K ;6*:*=B%G423LM5#_7#3R@*HC[ZFA>4OP*T
MS>RFFV@.A28**J+'>8+.SRY::))NF@32>CY1A[Y^O4I]R]<_PO>DSXY;G*DY
M)T2]HE_3A51"'YO?;?X[ND$[G;E*KF6!4YAX^JZ0(#;@Q1\_A*/@2YMEIR1+
M3D2V9^.@MG'0Q;Z_V5F9+T"@'TL$U7Y!?SNWSLR1#RVYN4XW<12._4W3JL[\
M[[7J1&1[5@UKJX9OMVJ[VWYMKCB>JX8K02^X.O#E+4%):]!E';2G8U3K&'7J
MV"VH+E$4*\@0)7A!J+[?0.KU/FM3U,GXWL/CR,*@H2KL10?*3Y31.>0WJD$.
M8F6KJD0I+YERA:$>K0OWU-8K_W^XJ_IW6*P(DXC"4D.#WF>]1,)54M=1O+"U
M9<&5KE2VN=8_'R!,@/Z^Y%SM.B9!_3L3_P-02P,$%     @ \$EH5P,6*UA(
M!   %QH  !D   !X;"]W;W)K&ULM9EKCZ,V%(;_
MBD57U8PT'>XA29-(D^&RLVJDT6:W_;#J!P><@ 9P:IMDVU^_-C!," Q*6G<^
M3+B<]SDV[[$Q,#MB\D)CA!CXGJ4YG2LQ8_NIJM(P1AFD]WB/[A#:\2^[I\)WU,;2I1D**<)S@%!V[GRH$\#W1"",N+W!!WI
MR3807=E@_")VGJ*YHHD6H12%3" @_SF@1Y2F@L3;\5<-59J<0GBZ_4KWR\[S
MSFP@18\X_2.)6#Q7Q@J(T!86*?N,CQ]1W2%;\$*)C=+?4LT=27)1BFM&^-F$Z]CBXB]8?UD0*_RB]!<">/U2BR-0> :
M[>^!J=T!0S/,GO8\#LL_%?F@W!V6KR#AL
M,)NB-$N>^1ZOV- D2OC4> ?6,$4 ;\&:X? %?/N-AX(GAC+Z9U_-55RKGRNF
M]2G=PQ#-%3YO4T0.2%G\_),^TG[M,UPFS)4)\V3"?)FP0!*L53964S;6$'WQ
M1&D!\[ LEQ!G&9^YJ*B:.W" :8'ZZJ4"CDJ@N&L?%KIFCIR9>C@MA)XHQ[3&
M[2BW&S4R)D8[R!OLP;7.R80%DF MY^S&.7O0.7X'"A&**-@2G+6\ZS-MD'7M
M()<)UZ7>CM'9$(*E1+6-'C;&C06-/EQ??5BC;(-([;P]2
MKK54)LR5"?-DPGR9L$ 2K%4D3E,DSO]TNW=DEHU,F"L3YLF$^3)A@218JVS&
M3=F,!^>6Q^XM'L""Q9@D__0^42P'>=>6BTR8*Q/FR83Y,F'!N&>Y)?Z:.U:K
M$"9-(4S^U;H/W/!'5!I#WK#;OG*HJ/;I@DVW)N.Q?;;\&\Q^K=,R85ZW![IM
M&7JG"[[,K($D6,MK77M[8:')7N77Q';=.=K90NEQ./&U1DNE>3U=,&W]O N^
MU*2!+%K;Z9-74[K$IX(:UAH,FM4U>3#GU2;+I'D]71!+_H[),I,&LFAMDXTW
MDXTK[N)UA@AL,0';@A4$@:0>\$,#W.@^>UN3KO>#3;G:>YDT[[(N^%*3!K)H
ME??JR6OH#)%=^86!\H%;Y*QZ^=<<;;YB/)3O[L^.+_6IJ_<<]_2I7WVC>,-7
MGTQ6D.R2G((4;7DJ[=[A8XA47R&J'8;WY4OP#68,9^5FC&"$B C@Y[<8L]<=
MD:#Y%K3X 5!+ P04    " #P26A72^(GI$D"  #>!@  &0   'AL+W=OSR+B;O)5JDG-UCFLR!R0, A,\Z!VM<+W +GSLAB/!\]
M@_9()SR/3^Y?_=WM7;84X5;QGRPWY2SX') <"EIS\Z#VW^!XGZ'SRQ1'_R3[
M9N]@')"L1J/$46P)!)/-FQZ.>3@3]*\)XJ,@]MS-09[RCAJ:3K7:$^UV6S<7
M^*MZM85CTA5E8[1=959GTGGV7#-D/D.?R#S/?4@Y65R"V
MH']=(NIT<%_Y!"N:P2RPGS&"?H$@??^N/XJ^=/ E+5_BW9,K?(L:[0PB.4_L
MX[V=(TL# B\")V\ /&B!!YT)74I#Y8YM.1"*" 9O"*!AMO*0DQJAJ#GAK(!+
MW-W.,7D%JI&,B%#2E-@!.VQAA]W5IX>_5K_3X1^3.6KY1O^_^J,W !ZWP.,W
MJWZW<])4_Q)C>-:N7.=?4;UC$@F'PEI%O;$MH6ZZ:3,PJO(=;*N,[8<^+.T/
M"+3;8-<+I&ULC51;;]L@%/XK1ZR:6JF+'3M)
MN\RQE,MN#Y.B9MT>ICT0^R1&Q> "CMM_/\")E6U)MQ>; ^=\%^"0-%(]Z +1
MP%/)A9Z0PIAJ' 0Z*["DNBS@V,UC"7Y9H)VAZ\R&&JM;W@QV9_
M3-?:*'LI?IZ2W](,3M.X1AGKBF8X(;83-*H=DO3UJ_XH?/>"B;@S$;^$GAXV
M_AIFN&5",+&%&>549'A*:@LV\F"N!7?IS3"^38+="0F#3L+@/R6\%_D_^ =_
M\_<'\1_\P=$-=S=# JIMH#8PLO*7=BV-;0$_+.R;@\HE
MV/6-E.80N#[H7K'T%U!+ P04    " #P26A75A9#61,#   B"0  &0   'AL
M+W=O2J%6>4_E\#5QLQI9KO3RX8XNE-@_L9%32!4Q!/Y2W$GMV
M$R5C.12*B8)(F(^M*_=R,C3Z2O"=P4:UVL1D,A/BT70^96/+,4# (=4F L6_
M-4R O0,KC!'H.W-7C_:O"W!K]*
MM":KTKJAFB8C*39$&C5&,XVJ-I4;LV&%F<6IEOB6H4\G5VDJ5H56.",IL#6=
M<3@C!:Z>F6Z;IF\O8P3:&\(+YS1CS'\WOLD\/V&TC1[E9V[[7=QNHT
M)?*:$GE5//]8B=JYT[D&2:XX[@):I$!P/Y&)A(QI\EDH17Y>S926N$A_]>5?
M#QCT#V@V[J4J:0IC"W>F KD&*WG[QHV<]WW5^$_!7M7&;VKC'XJ>W$N:06OM
M],YV'2*J0IA399T$PV&$,[MNI]%5^:$?Q8WJ%5_0\ 4'^>Z 4PT9*:G4S\ JPITW8QPMBU[@
ML /C1:X;[B!W56XP"()^[*C!C@YB?]-+7/]'"AIU1HYVV+H*+^P'BQNP^/"*
M%)KR/IBX.[O1(')W@+JJ$ ^AJ)]IT# -#C*]/B;2^IC@>$STEVW083@/@\%N
MZ7I4KCO8,ZW#AG1XF'3/=="'.>QLV-CUX]W5UU4%0R?T=C#MU@UFOAZ^4+E@
MA2($56S25^Q( T GP_%T*_=,P]V7P6)7\!
M4$L#!!0    ( /!):%>L*M33H0(  +$&   9    >&PO=V]R:W-H965T?XW./KFW@OU:/. 0QY*KC00R\WIASXODYS
M**CNR!($?EE+55"#4[7Q=:F 9@Y4<#\,@AN_H$QX2>S6YBJ)Y=9P)F"NB-X6
M!56_QL#E?NAUONB-NH-)
MW\:[@*\,]OIH3&PF*RD?[>0^&WJ!%00<4F,9*+YV, '.+1'*^%ES>LV6%G@\
M/K#?N=PQEQ75,)'\&\M,/O3>>R2#-=URLY#[SU#GXP2FDFOW)/LZ-O!(NM5&
M%C48%11,5&_Z5/MP!$">=D!8 \*7@-XK@*@&1"[12IE+:TH-36(E]T39:&2S
M ^>-0V,V3-A37!J%7QGB3#)*4[D51N.)I,!V=,7AF@BLGG=DE&7,6DTYN1=5
MO5CC+Z=@*./Z"D,>EE-R>7%%+@@39,8XQP =^P:%67H_K46,*Q'A*R(B,I/"
MY)I\$AEDIW@?$VJR"@]9C<.SA$LH.R0*KDD8A%&+GLEY^!12A'<=/#PC)VI,
MCAQ?]#>3%T"[.ULBKV;N#H;<_:)4'G0^SOCA-L"8HZMTW0B?!^([Q_
M5OC\()?X+G6=W_->#\(^Z0@%JXYJE)JX4JP;1K#;]>.3:
MD/\<7C7S&54;AN?"88W0H'.+0E75(*N)D:7K,2MIL&.Y88[_%% V +^OI32'
MB=V@^4LEOP%02P,$%     @ \$EH5S/Z;R:? @  &ULK55=;],P%/TK5V%"FS26-&W#&&FD=@.!Q*2I
M9?" >'"3F\::8P?;:<>_YSI)0X&L>^$E\<>]YYYS8M_$.Z4?3(%HX;$4TLR\
MPMKJRO=-6F#)S(6J4-).KG3)+$WUQC>51I8U2:7PPR"(_))QZ25QLW:GDUC5
M5G")=QI,799,_UR@4+N9-_+V"TN^*:Q;\).X8AMP2PH9W6ZAA><,L2V*M=J!=-*&Y
M02.UR29R7+J/LK*:=CGEV62>IJJ6UI#!*?(M6PL\!TF'X16LZ !DM4!0.?1A
MRSX,YH*^*),I IT-N-:8<0N?E#%P>H.6<6'.X 2XA,^%J@V3F8E]2Y1=83_M
MZ"U:>N$3]-[ K9*V,/!.9IC]F>^3U%YON->["(\"KK"Z@'%P#F$0CN%^=0.G
M)V='<,>]C^,&=_R4&%DRXD"%!;F:
MQ389C2XGL;\=(#KMB4Z/$\V(!%UO VG!] 8SL J0:&ULK55=3]LP%/TK5H8FD(!\EX^ED: 5
M@H=)B,+V,.W!36X;"\?.;+>%?[]K)V0%0K>'O22^\3W'Y]S6E;$/_#QKZ!)F8!Z:6X61W[.4
MK :AF11$P6+L783GD]3FNX1O##9Z:TVLD[F4CS:X*<=>8 4!A\)8!HJW-4R
MEJ<;>J4=*6- 5-W=RP
MD%R[*]FTN2>87*RTD74'1@4U$^V=/G5UV *$R0> J -$_PJ(.T#LC+;*G*TI
M-33/E-P09;.1S2Y<;1P:W3!AW^+,*-QEB#/YC5B#,%(QT(=$8-<^04F6V"^ZXR_;XZ,/
MCI]![X5,H$!XZ>/0:[F,A^FI$?34BQQ?_I1K/9,ITP:5>
M*2 _+N;:*.RWGT/^6L)DF-!^@^>ZH06,/?S(-*@U>/GG3^$H^#+D]C^1O?(>
M]][C7>SY%1,,^Z@D2RF'7V6+'SF\G0[K/$V2)//7VQ;>)X6C:'369[W2EO3:
MDIW:+CA.&RH*(#BWB,;@J)9K)I8$VX[(N98<#/3=^CRDOCTAW1)V=')Z]D;]
M0%(81\&P^K17G^Y4?R\-Y4.2TG>U2D9I^D;2^Z0P.4O>%M3?&@%V_'ZE:LF$
M)AP6B N.3Y!&M2.M#8QLW%282X,SQBTK_ N L@FXOY#2O 1VT/3_E?PW4$L#
M!!0    ( /!):%>0;WKR,P(  !0%   9    >&PO=V]R:W-H965T;E,PQM EC@0U"LFX/8P^J?6V+RI(G
M*7'W[R?)CDG!*7O82WRO=,_1/2>Z2EJIGG4%8-!+S85>X,J89DZ(SBJHJ9[(
M!H3=*:2JJ;&I*HEN%-#<@VI.HB"8DIHR@=/$KVU4FLB]X4S 1B&]KVNJ_CP
ME^T"A_BXL&5E9=P"29.&EK #\]ALE,W(P)*S&H1F4B %Q0+?A_-E[.I]P7<&
MK3Z)D5/R).6S2];Y @>N(>"0&<= [>< 2^#<$=DV?O><>#C2 4_C(_LGK]UJ
M>:(:EI+_8+FI%O@.HQP*NN=F*]O/T.NY=7R9Y-K_HK:KG04897MM9-V#;0X!WCG2=>5DK:FB:*-DBY:HMFPN\-QYMU3#A
M_L6=47:769Q)MW  L0=TC>[SG#EG*4=KT5T/Y_,UNER!H8SK*QL_[E;H\N(*
M72 FT+=*[C45N4Z(L:TX0I+UQSYTQT9GCMU!,T%Q\ %%012/P)=OPU>067CH
MX=%K.+$&#"Y$@PN1YXO/\3%-RU)!V6F6!3KZ\O.++45K [7^-2:SX[T9YW4C
M.-<-S6"![8QI4 ? Z?MWX33X.";Z/Y&]LB >+(C?8K>6%J 4Y'8TO?(QL1W#
MU#.XY^&0AF$XNTO(X53%6%4<3H>JKCUR_&5JI()C3@4%A=,9K<8J6X&
MN\3(QE_C)VGL4/BPLL\6*%=@]PLIS3%QDS$\A.E?4$L#!!0    ( /!):%<5
MU$L0]P(  / (   9    >&PO=V]R:W-H965TR"YR75C+2UV8L&=%:D+R$&4.\+@K,GF^ T.W8S49JG@=\)C#EA^,D:ID
M0>F3FOS(QI:C@(! *E0&+/\V, %"5"*)\;?-:75+*N'A>)_]FZY=UK+ '":4
M_,HSL1Y; PMEL,0U$7=T^QW:>D*5+Z6$ZU^T;6,="Z4U%[1HQ9*@R,OF'^]:
M'PX$;O"*P&L%WGL%?BOP=:$-F2YKB@5.1HQN$5/1,IL::&^T6E:3EVH7YX+)
MN[G4B63&H,)YAG"9(2K6P.2BC$$I$.8?T5P^.5E- -$E>C/\? H"YX1_
MDL*'^12=GWU"9R@OT?V:UES*^,@6DENM;J=;"4.VHM;[<6U]N "35I/?E\O
MN&#R2?UC*KI9)3"OHKKWBEY@?-*/PP[
MP.%)P'LJS'8->\WG^D$T.$(R1#F^<]P']L%YI+X%?F*VRDN.""RESKF,94VL
M.5^;B:"5/J(65,@#3P_7\I,$F J0]Y>4BOU$G7K=1T[R#U!+ P04    " #P
M26A7$ECN90P#  "^!@  &0   'AL+W=OXNHZW2OTR!:.&Q%-*,@\+:ZCP,359@R4Q?52CIS5+IDEDZ
MZE5H*HTL]Z!2A'$4G84EXS)(1]YVH].16EO!)=YH,.NR9/IIBD)MQ\$@V!EN
M^:JPSA"FHXJM<([VKKK1= I;EIR7* U7$C0NQ\%D<#X;NOO^PG>.6[.W!Z=D
MH=0O=[C*QT'D D*!F74,C)8-SE (1T1A_&XX@]:E ^[O=^R?O';2LF &9TK\
MX+DMQL&' ').?L&WN1@%D:V-5V8 I@I++>F6/31[V
M ''\ B!N /$SP"!Y 9 T@,0+K2/SLBZ99>E(JRUH=YO8W,;GQJ-)#9?N*\ZM
MIK><<#:]T5@QG@.3.2A;H":G6J.TP(Q!:Z SR7/N,LX$7,FZ;.AT IU+M(P+
M9@U(4SK$.(70IACU8H-!>OQNI=5/&C.043U;O:X'SI)+
MPCDJ/WJH)]#TX5N!KK1*M9;4+([$('40YK!XVO-9]Q)5(,7;]I-X;76>MA.:=CZH?3,/CD]
MGYT>L@^;X1S^I:\G^S73*RX-"%R2JZC_GCZMKJ=E?;"J\@.'$DSR_;:@'PQJ
M=X'>+Y6RNX-ST/ZRTC]02P,$%     @ \$EH5Z1E?MQX!   )QH  !D   !X
M;"]W;W)K&ULM5E=;]LV%/TKA%8,+9!&W[*2V08:
M2]L*-%@0M]M#L0?&OK:%2*)&TG;V[T=2BFQ]6'46YL66Z',/=>ZECGFE\9[0
M1[8!X.@I2W,V,3:<%]>FR18;R#"[) 7DXI<5H1GFXI2N3590P$L5E*6F8UF!
MF>$D-Z9C-79'IV.RY6F2PQU%;)MEF/Y[ RG93PS;>!ZX3]8;+@?,Z;C :Y@#
M_U;<47%FUBS+)(.<)21'%%83XY-]'=NA#%"(/Q/8LZ-C)*4\$/(H3SXO)X8E
MKPA26'!)@<77#F:0II))7,<_%:E1SRD#CX^?V7]5XH68!\Q@1M*_DB7?3(S0
M0$M8X6W*[\G^=Z@$^9)O05*F/M&^Q 97!EIL&2=9%2RN($OR\AL_58DX"A \
M_0%.%>"T [P3 6X5X)X[@U<%>.?.X%)BS#'TS$E>T0E6K#) Y5]
M%2WRE>1RHH>2''W=D"W#^9*-32ZN1/*9BVK6FW)6Y\2L+KHE.=\P%.=+6/;$
M1\/Q5P/QILA G0;G.0TWSB#A'(I+Y%H7R+$'.WUR7C=[_+]G;R3#
MK=>$J_C
MP,00KL: [L"8_OR3'5B_].5<)UFDDRS61-:HCE=7QQMBG_Y1 ,4\R=5XJ2)5 L\N]B-W5\>VSNCC/XBXH#$]H'-4:1X,:9T*7_&.AL(-\"^C[
M+60/0'L=9)#II0ZBDRS2219K(FN4(ZS+$;Z5OXG<3H>T=<_M3VBBPG:K47?7/X)CSCT3_9P _4;Y*(A
M3I5'X&66Y GCLD'>#?<9PZPO7H0ZV2*M;+$NMF9]#KV?/7HSH]#:#&IEB[2R
MQ;K8FC4Z-(3V8$=SGE&$W8=%EM5VBCY09SO1!3FCSGZB"W*M=M]A'CWXSH"N
MU1L')B1L$\.<3.4'];FCZ'U!+
M P04    " #P26A7"6]PHM$#  #^$   &0   'AL+W=O<$S5.D7B!.?8_NQ8XZ9'KGX+O< BOR(PEC.K+U2R:UM
MR_4>(BIO> (Q/MER$5&%1;&S92* ;C)1%-J>X_AV1%EL!=/LWD($4YZJD,6P
M$$2F443%\QV$_#BS7.MTXXGM]DK?L(-I0G>P!/4M60@LV:7+AD402\9C(F [
MLSZYMW.WKP59C=\9'.79-=%#67'^71=^V\PL1_<(0E@K;4'QZP#W$(;:"?OQ
M3V%JE6UJX?GUR?TA&SP.9D4EW//P#[91^YDUML@&MC0-U1,__@K%@(;:;\U#
MF7V28U'7L<@ZE8I'A1A[$+$X_Z8_"A!G G=P0> 5 N^M@GXAZ+]5,"@$@XQ,
M/I2,PYPJ&DP%/Q*A:Z.;OLA@9FHT^+:^(XF2E
M ;--CSPPN:8A^1.H(%\HS@36(']]6DDE\"7YNPUGWH%!>P?TSG$K$[J&F85;
M@P1Q "OX^2?7=WYI@]NEV;PCLPKX?@F^;W(/\O6[ :'7](6E=)=;^)F%WB,/
M@>=.IO;AG(BQF6N)=&16(3(HB0R,1!#"H U"KAJ>01B[XQH$H_.U$#HRJT 8
MEA"&KT$8MD$8-B",AL,:!*/SM1 Z,JM \$L(_FL0_#8(?@-"\W4P.E\+H2.S
M"H11"6'T&H11&X11 X([\6H0C,[70NC(K )A7$(8&R%\W0/FQ:T"T89BW$3A
MUT@8[:\ET9%9A<2D)#$QD^ *?W?#+.LD1=9I8S)IOB/-E\38U+54.C*K4'&=
MEX3H&+GH $-8E*0*-ICL<*6 5*VISFF0^>CZHQH97I'+NHJJE8;7W&[ZKE/'X35PC,9^'R(_;.<%Q9/L^+GB"@^SV>4>*,9R70&?;SE7IX(^T99_>03_ E!+ P04
M    " #P26A7W!&A.>$#   &%   &0   'AL+W=OP&I96_5E5H)E6W[4/7!FPP0U8E3
MVT"WO[YVR"8$@ENJ\ +YF#DY,SYV3CS:O*: 4I
ME=<\ATS?67"14J5/Q=*5N0 :%TDICG"YA#NIC/A/ZS*U0XB2%3"8\0P(68^<5
MOID2SR04$9\2V,J]8V1*>>#\FSFYB\>.9Q@!@T@9"*K_-C %Q@R2YO&]!'6J
M9YK$_>,G]#=%\;J8!RIARMGG)%:KL3-P4 P+NF;J ]^^A;*@P.!%G,GB%VW+
M6,]!T5HJGI;)FD&:9+M_^J-LQ%X"[IU((&4"^=,$OTSPBT)WS(JR;JFBDY'@
M6R1,M$8S!T5OBFQ=39*989PKH>\F.D]-9D(K0JA'1+,8P?=UDNLQ4E9:-?&: >(+E+=&HN>WH&C"Y L=_G%^BYX_>X&>H21#]RN^ECI6CEREB9K'
MN5%)ZO6.%#E!:@[Y-?*]*T0\XK>D3^WIMQ#I=%RDDV:ZJ]M3]8A4/2(%GO^;
M'EVA&:.Z9-. _ZL&?'FGP]&=@E1^;2MUA]UKQS:S]$;F-(*QHZ>A!+$!9_+O
M/[CO_==6>$=@C3;X51M\&_I)J2P%EZV#O(/K%W!F.=E,?"\(1^YFOZ+C(!*0
M81748-JKF/:L3%]%T3I=,ZH@UE-:MR)*J%DTVDCND(*]Y[_$?D@.6+9$#4C8
MSC*H6 9_U4\]]=J(!D<4<'\0'/!L"0H]TLZS7_'L6WF^ [U,KCB+T5VJ%X$-
M&)H2?7D/Z0.(5LU; <_5?$=@C=K#JO;P@E,_[+(-'8$UVC"HVC#H=NH/CG5X
M-/./8\@)I0XKFD,KS3<)L,;X6"1J13IW;#H":Q2-O?H5[EU0I"5X1YWH"JW9
MBCTW@[L5:HG74*J'#Y?_UJAPT*Y67/L*;'U?3^ZRG0\W?O8>HE7&&5\^_J&
M[=AGC]LEG 6NK07V+REAJW$YNQ4=H35;47L7;#MZA@H^#_" X
M(>#:P6"[A;GG7%]:VG5JA3A[<#I":Q9<6R'7E*TG3JEKM":'_*U52)6_W&^:$N\_>_3WO#PJZLEB 3>@6C=O4T:
MLT/VGHIEDDG$8*&SO.M0:U[L-IUV)XKGQ;[- U>*I\7A"F@,P@3H^PO.U=.)
MV0JJMOXFOP!02P,$%     @ \$EH5ZDS_>J? @  Z0<  !D   !X;"]W;W)K
M&ULK55M;YLP$/XK%JNF5NH" =IM68*4A$SKATI1
MHVX?IGUPX))8-3:UG9?^^YT-86E%LVCK%["/>YY[Y:Z_E>I!KP ,V15M2 DU)BWP\+QG_^IBQUCF5,-8\A\L-ZN!]\DC.2SHFIL[N?T&=3Q7EB^37+LG
MV=:Z@4>RM3:RJ,'H0<%$]::[.@\' .1I!X0U('P)B%\!1#4@.M5"7 /B4RU<
MU0 7NE_%[A*74D.3OI);HJPVLMF#R[Y#8[Z8L'TR,PJ_,L299*JPY91Y(E3D
M!![7K,0F,)=$8(M^(,,\9[:>E),;436EK>YY"H8RKB]0Y7Z6DO.S"W)&F""W
MC'-4T'W?H&_6@I_5?HPJ/\)7_(C(K11FIVI+\E
M6?J69),W(GM6GK@I3WR,/4D!23-6_9RPPQVBH:T4%4LW<#1V@VR2H(/]L3E,
M\2E*::O2]7.E2:M2W"A5H?H'LZL M71+0Y-,KH6I&K21-GMIZ,;Q"_FHVQMW
M6^0I[K%J[?RAKY;@+55+)C3AL$!30>_ 902P,$%     @ \$EH5W"4IF#7 P  1A4  !D   !X
M;"]W;W)K&ULM5AA;YLZ%/TK%F^:-FDM&$*2=DFD
M+M6T2JM4+=M['Z;WP2$WB36,\VR3M--^_+.!0NB(4SKRI<%P[_&YQ]?ND4<[
M+G[(-8!"]RQ.Y-A9*[6Y=%T9K8$1>!.()DR1L3#!XCY;NQ@Y_'%%[I:*_/"G8PV9 4S
M4-\V=T*/W!)E01DDDO($"5B.G2M\.?4]DY!%_$UA)_>>D2EESOD/,[A9C!W/
M,((8(F4@B/[9PA3BV"!I'O\5H$XYITG?H"@H-'@1CV7V%^V*6,]!42H59T6R9L!HDO^2^T*(O00\.)#@
M%PG^TX3>@82@2 BR0G-F65G71)')2/ =$B9:HYF'3)LL6U=#$[.,,R7T5ZKS
MU.0F4219T7D,B$@)2KY#B6X>DBS0BO/%CL8Q.D.S?)$17R+Z- &]N09%:"S?
MZL!OLVOTYM5;]$K'H:]KGDJ-)$>NTE3-A&Y4T/J0T_(/T)K!YAP%WCOD>W[0
MD#ZUIU]#I--QEN[7TUTM4*F27ZKD9WC! ;R/-*$*SC[KCEN@/?T7[GOOFRKO"*RF0U#J$-C0
MF[IE);AL7. R5)'M6DE=1E+(T)DJO
M%6%<*/J3F".CB62.%.[-?X:'X? )RZ:HWF#83#,L:89MM=0[KXED^)M(_7#P
MA&+X&T6,<=#,L%\R[%L9WNJN9RE#WV^!S4$TMK85H6UK=P16*W90%CLXY18?
M=*E#1V U'8:E#L.V;0E2499MIU3",HU13)?0)((=V4]4_?N^4#5^@=R1%5VAU+?9,$#Y9
MTQ^!#O*N;RS:FOG2HBM/@ZU609NDK7;Q&UWA5XC6"8_YZL':_':\UDM^"B.#
M*R>#@Y.VO]4HM=:B([2Z%I5APG;'U,;6%5!'?%UCU"%CARO+A.V>R=JRZ!=Z
MCF.Q3]%ZY3I"JPM2.33X&_L4K=OA%&8.5VX.7YQT:W1J];I"J]]>5%[/M_JG/]H:1Z M
M_L:>V;9H=^^2R]PPWA*QHHE$,2PUO'<^T">QR"_M\H'BF^S>:\Z5XBQ[7 -9
M@# !^ON2<_4X,%=IY=7IY']02P,$%     @ \$EH5W##H NJ @  ^ <  !D
M  !X;"]W;W)K&ULK55M;],P$/XK5IC0)FU-FF0#
M2AJI;XA*FS2M&GQ ?'";:VK-L8/MMH-?S]E)0S=EI8)]2>SS/<^]^'R7;*5Z
MT"L 0QX++G3?6QE3]GQ?+U904-V1)0@\64I54(-;E?NZ5$ S!RJX'P;!E5]0
M)KPT<;);E29R;3@3<*N(7A<%53^'P.6V[W6]G>".Y2MC!7Z:E#2'&9C[\E;A
MSF]8,E: T$P*HF#9]P;=WB2V^D[A"X.MWEL3&\E[F69]+[ . 8>%L0P4
M?QL8 >>6"-WX47-ZC4D+W%_OV#^YV#&6.=4PDOPKR\RJ[[WW2 9+NN;F3FX_
M0QW/I>5;2*[=EVQKW< CB[4VLJC!Z$'!1/6GCW4>]@#(TPX(:T#X'!"_ (AJ
M0'2LA;@&Q,=:N*P!+G2_BMTE;DP-31,EMT19;62S"Y=]A\9\,6'K9&84GC+$
MF70J#!4YFW,@5&LP^IP(K$XJ,I)+F6T9Y^2"#+*,V7NEG$Q%59SVED_'8"CC
M^@Q5[F=C=D;WR&;CR(=^N$4.F!@K]O>WZ*P-QNP';%7NZ
MI OH>]CV-*@->.G;-]VKX&-;[E^3;/R:9)-7(GMR2W%S2_$A]G102&78K^J-
MPB..% UM5U&Q= -'8P?*)@TZW<3?[*?X&*5QJU+\5&GR%Z8J5'^OE16@Z-NBWR,8ZV:0G_HJYEX0U7.A"8:'M@9],*I+C$O5C=2?-SN]9,EHB5U1PD+B>>K/AU3RV\2[@*\5&[:S!.ED)
M\60W-]G4"ZP@9)AJRT#,:X/7R)@E,C)^=IQ>G]("=]=;]D_.N_&R(@JO!?M&
M,UU,O0L/,ER3FNE[T7S!SL_8\J6"*?>$IHL-/$AKI479@8V"DO+V39Z[.NP
MPO -0-@!0J>[3>14+H@FR42*!J2--FQVX:PZM!%'N?TH2RW-+34XG=QP37A.
M5PR!*(5:#8";7X'P#'(ALH8R!J>P;#\9B/7KJ:LGU2]PO$!-*%,G< 24PT,A
M:F7P:N)K(]"F\=-.S+P5$[XAYA)N!=>%@H\\P^QWO&^,]>["K;MY>)!PB=49
M1,$ PB",X'&Y@..CDP.\45^UR/%&;_!^[HM@ZK13PIDK(2RH2IE0M43X/ELI
M+4VM?NPK1YMEM#^+[<!C#'
MG').>0YSP@A/<9_4EBQV9+;3-\GY.+J8^)L]$L:]A/%!"0^2<,6(;<]]*5OP
M>"?E:70YWI\R[E/&_^G:_&/_L!S_;7DXBO[([^_T7HDR=Q-&02IJKMLV[$_[
M(39K>_:"6Q9F$*.T >9^
M+83>;FR"?K0GOP!02P,$%     @ \$EH5_&ULK9?;;MLX$(9?A= 610NDT=&2G-H&$BM%
M"[3=(&ZW%XN]H&7:)BJ16I(^Y.T[E&35EA2NU\A-(EGSC^:;(4?#T8Z+GW)-
MB$+[/&-R;*V5*FYL6Z9KDF-YS0O"X,F2BQPKN!4K6Q:"X$4IRC/;?:#+M1Z;,466I E
MWF3JD>\^DAIHH/VE/)/E7[2K;1T+I1NI>%Z+(8*).!+XWC,"KQ9X
MYPK\6N"W!&[PC""H!4&9F0JES$."%9Z,!-\AH:W!F[XHDUFJ 9\R7?>9$O"4
M@DY-;M-4;,@"D3VL)$DDPFR!N%H3 6\7@C"%,HKG-*.*PM-W: 8K;[')".)+
M=!#?'XO_+,736OSY2/PF(0K33+X%-]]G"7KSZBUZA2A#W]9\(T$K1[8")AV9
MG=;QWU7Q>\_$/R/%-?*=*^0YGM\CGYKE"4E![I9RKT>>G/_VEMR&0C35\)IJ
M>*4__S^J<69";^=2"=@Y?6FK7A3TOTAWDQM9X)2,+6@7DH@ML2:O_W!#YWU?
M$E_26?)"SDX2[#<)]DW>FP2G7"J]@@79$K8A?0FL'(6E(]T]MQ-W.-1K;'N<
MF1XKWQW&IU:),:@+D8,&.3 B/Y(,*T NL%!/T&?/3D#E=G""Y@0M_JZ1TV(W
M1GBX[>H:([J0-VIX(R/O-ZYP=A9OU.4=1%&K=M,>*S\>
MMI9!8HSI0N*X(8Z-Q#^P$)C!-JY=]\+&'8PH\MNL7:/8:6_N).XTM_BX YP@
M#!N$H1'A\!TKN"@'/^A!,,0*V)ILA3("(UPS<#SUT0T[,46!UX+KV@1NU&(S
M1GEA&5WG]]3EF+=J@_Q9(U\UG_6GJ\.7_@K-%#3N7"<+DO2!,LQ2"@O^@4M:
MIN[O^[W2$_@.IMM*S!J3N237U!+ P04    " #P
M26A7T5AT/%X$  "\$P  &0   'AL+W=OL:-"LZV=:HBVB$NF1=)S\^Y&2HL@R
MHVJNO]@2=>ZYO(>7Y"5G1\J^\QPA 9[*@O"YD0NQGYHF3W-40GY+]XC(+UO*
M2BCD*]N9?,\0S"JCLC =R_+-$F)B+&95VSU;S.A!%)B@>P;XH2PA>UZB@A[G
MAFV\-'S!NURH!G,QV\,=>D#BZ_Z>R3>S9O8'3&#A] ^\- [( D@Q0D2,FO3.&B  %AAM<8('EUQOP(',[.Q0(T"TX0L8@$<\R/R0++#AX
MOT8"XH)_D,BO#VOP_MT'\ Y@ O[.Z8%+;CXSA>RV7=1>=-[KH@D^4
MB)R#F&0HT]BOA^VC 7M3RM5JYKQHMG0&"1_0_A:XUN_ L1Q7TY_5>'-'%\[/
M>8]_SGLR;+Y&J32W=>8G6KIM_KD5G_N#_(N[^?>YRK]5DW]_=?+O;L,%DZN1
M+HMJ1Y[>D5JAIWP/4S0WY!+,$7M$QN+77VS?^D,WA-BAJ0'4RBGHP:E&N'/8EB+K!I0
MY/1$U6!LQ^DQQ1I4$/4R.!F,^D)-PU;3<.Q"B>3N^!L?2,GP?&+;T:2?DQJ4
M$X0]8=:CN.)17,E@A!?J%[7Z1:-JC+9]]1P[ZNNC07E!?W\;Q16/XDJ&X[PT
MQYQ7'9W_LQP/5JP-E?^#]5@'TRS(X]CB<6R)%M8M@6M]S,[E0HG8KKH&XB"E
M!R+J,3FV4J5V=[8MXY3D6-[P'6'P
M9\-%CA4,Q=:6.T%P4H#RS/8<)[1S3)DU&15S3V(RXGN544:>!)+[/,?BVSW)
M^'%LN=;+Q >Z396>L">C'=Z2-5$?=T\"1G;-DM"<,$DY0X)LQM8[]VX5:OO"
MX!,E1WGRC70FSYQ_UH-5,K8<'1#)2*PT X;7@3R0+--$$,:7BM.J76K@Z?<+
M^[S('7)YQI(\\.Q?FJAT;-U:*"$;O,_4!WY8)6[$"D DTKB=ZB=;$1Z'>2H#EEF,44
M9V!2[C0M6=!="\'K*5&89O(-4'U<3]'K5V_0*T09^B?E>XE9(D>V@EQT1'9<
MQ7U?QNU=B=M'CYRI5*(92TABP"_;\<,6O UK6"^D][*0]UXKX9KL;I#O_($\
MQ_,-\3RTP__:LU;XM!W^B 7 W:OP6??@/0-\WCUX$WS1/7@3?/EK*[_ZW[F?
M"<&O=Y1?\/G7^!161 M?[RHXDT2Q18P2+XD&9B)]RMW)'8[)V()C3!)Q(-;D
M]]_CX<@^G(JQU<'/BK%/LMEE^&^'@1NW7#H1PU=!)>!N<[@)+"R
MXB8S-PJ]<[.9P:D7A'[8**:!#F=N!,_1GL5PJO",)G#<)-"K/$N:4&A73-4)+U/SF\OTT.KY
M9_=LGV2SR_"=1HG[=+?HDVS99>E7;0F6.K%/KO@Y$=NB/Y0HYGNFRKM)/5NW
MH.^*SJLQ?^_>+5S#_!):UK+#_$%?]KMP/=M2!@<"V8 KYR8"48NRARP'BN^*
M!N.9*VA7BL\4VFXBM '\WW"N7@;:0=W(3_X#4$L#!!0    ( /!):%=2(@;A
M] (  .$)   9    >&PO=V]R:W-H965T] K D.>$"SUP5L:D5ZZKPQ4D5%_*% 3.+*5*J,&ABEV=
M*J!1YI1PU_>\CIM0)IR@G[V;J: OUX8S 3-%]#I)J'H9 9?;@=-P=B_N6;PR
M]H4;]%,:PQS,0SI3.')+E8@E(#23@BA8#IQAXVKS"0&'T%@%BG\;& /G5@C3^%UH.F5(Z[C_O%._SMB194$UC"7_R2*S
M&C@]AT2PI&MN[N7V!@J>MM4+)=?9+]D6MIY#PK4V,BF<,8.$B?R?/A=UV'-H
MM-YP\ L'_W\=FH5#,P/-,\NP)M30H*_DEBAKC6KV(:M-YHTT3-A5G!N%LPS]
M3#"!A2%?R3"*F"TKY60J\MZP13Z?@*&,ZPLT&2M &W)-0\:9>2'#6 '@>AKR
MZPZ2!:A'-'J83\CYV04Y(TR0.\8YJNB^:S!3&\\-BZQ&>5;^&UG-(;TD3>\+
M\3V_6>$^KGQ7JB<0.P)LE>+-./1AN+8G643-/QVW]WLD];F\D'25DG:
MJB4=415R^J+)B(HG,KL=_^OJ/^06C$%4N=R1[N:J2&OCO'?Q3R1V4))V69+V
M2;N^?4KP$XD=@'=*\$YM+^3+K>UZA_EZX_&G#141]G\5>2[7WFON;[VCWJZ-
M^$&>;LG3K>4YWKEI(M?"5(%T7WVE_A%';:0/694\-GC"N]@H*P!SB^E-+N!/>;+6UWP%U!+ P04    " #P26A7\=Z2
M1-,#   ##   &0   'AL+W=OM?=74/X]YU=&\.=B)5&
M.:D28E_GV6=>/9.]TI]-AFCA2RZDF0:9M<5-&)HDPYR9KBI0TLE&Z9Q96NIM
M: J-+/5"N0CC*!J&.>,RF$W\WE+/)JJT@DM<:C!EGC-]F*-0^VG0"XX;CWR;
M6;<1SB8%V^(*[8=BJ6D5-B@ISU$:KB1HW$R#V][-O.<%_(V_..[-V1R<*FNE
M/KO%?3H-(L<(!2;603 :=KA (1P2\?BG!@V:-YW@^?R(_KM7GI19,X,+)3[R
MU&;3X#J %#>L%/91[?_ 6J&!PTN4,/X?]O7=*("D-%;EM3 QR+FL1O:E-L2W
M",2U0.QY5P]YEG?,LME$JSUH=YO0W,2KZJ6)')?.*RNKZ923G)TM5)YS2V:V
M!IA,8:&DY7*+,N%HX%>X35/NS,<$W,LJ")PQ7]^A95R8-_ *N(3WF2H-B9M)
M:(F4@PZ3FL"\(A!_A< 8'NC)S,!;F6+Z5#XD91J-XJ-&\[@5<(5%%_I1!^(H
M[L.'U1V\?O6F!;??6*KO!7=[=F((E. THL0SJ'0:S7W[J#:/?6FA?-;2OVM!G=V@2S0OO
M-;6!]TSSS<9 (I@Q?,,3[\]+I%MA+Y.F$(&":Y _-=]REQGC_AAN_;E+)& :02H:BT(0@;7 ^MF#
M/U+2P9W.K )O,X&FLHNJ<"VZU%ID-(660!@T@3#X+X'P2)HY=;X](-KAG[G^
M_^_;"UXZN788#\X]2H7/;QN6(WV+F"$RQC(7UFRM=DA%VV9T8 I2V3G473Y:
M^&ET=&"?\22#C-BN$>4I0=8'ES#=%EM$DW%UX>=R\
M/&Y_F>KIZ573ZMA6I.^T4"\Z=1712[FV1O[!S,_ZH=X/\&X-\L2]1.&9>\.S
MOHRJVM9WGZ8J2%6+UNPV'>YMU=>=KE?M\0/3]$TP('!#HE%W1-585QUGM;"J
M\%W>6EGJ&?TTHRX=M;M YQNE[''A'FCZ_MF_4$L#!!0    ( /!):%=M=M G
M5P0  (89   9    >&PO=V]R:W-H965TZ6^3FNXIN^<; ($>\ZS@,VLCQ/;-;XD,\M1,X(,ED(AB/QZ@ 5DF2+)>?Q30:UZ3.5X?/U$_ZR#
ME\'<$0X+FOV5)F(SL\862F!%=IFXH?L_H HH4+PES;C^1/O*UK'0QZX6+
MB"#S*:-[Q)2UI*D+O?K:6ZY76JA"N15,WDVEGYC?"KJ\/[V42YV@!=YSO UA<'JGZ^2:_)12(= %
M8Z18@[H^07%9&@F2V4<+LDT%R=)_(3E!%SG=2>L?7R42?1&0\[_[JJ,H\S#&>R(IZ.%[NKM$H<$9-HZAK-'%\OVD4]PP7N$%06S7B
M#NJX@\&X%Y0+1%?RA^T!BAV@'U>0WP'K+<-!TFO+T"0L,@F+#<$:Z0CK=(3O
MK"6AR22:A$4F8;$A6".)HSJ)(^-:4A*#XX=[C%M2TF.# Z\E)3U&'FX9Q5TC
M-W!QOY*,ZZC'@U'?R'4D;+G1E9E(.XA->X[2TLU 5.I-$F+C-)B4[1F*@][6#RXNWJ;O'C=!SX,V_K2-0HFX[:^
M=(W&+F[K2]]PGO.,OAPV?GAXY_<[%,!(IDN4)'E:I%PPHL[HAD5FD/KJRC1)
MBXS28E.T9GX.&U0_HC]9)!GV,?\.4;BBO"UFG!408K.91S-I))9>6A?]D0=*M/M>^H
M$#37EQL@"3!E(.^O*!5/#35 _>IE_A]02P,$%     @ \$EH5Q:9=2\H!
M>A0  !D   !X;"]W;W)K&ULK5A=;Z,X%/TK%CO:
MG9&ZY2- DFX2J4U 4VE'&TVFLP^K?7##34 #F+%-T^ZO7_-1&A+7A1GRD-C&
MYYSK'8@]!L+ 3AZ3.*4S;60\^Q*U]DVA 2S2Y)!*J[L"$TP%UVZUUE&
M 0L 11 BF+2(HH[.;:M7GEFU8!*&=\C># CMJH6,H]
M(=^*SFTPUXPB(HAARPL*+'X>8 EQ7#").+[7I%JC60"/V\_L?KEXL9A[S&!)
MXK^C@(=S;:*A '8XC_EG<)#581)!$:?6+
M'VLCC@""1PZP:H!U"K!? 8QJP*BK@ET#[*X*3@UPN@+<&N"6WE=FE4ZO,,>+
M&24'1(O9@JUHE.DJT<+@*"TJ:\.IN!H)'%]L.-E^"TD< &6_(>]['O$G]#NZ
M#H*HR#R.T6U:U6]1!^]7P'$4LP]BRMUFA=Z_^X#>(1VQ$%-@*$K171IQ=B$&
M1?M+2'*&TX#-="Y"+03U;1W63166]4I8(_2)I#QDR$L#""3XE1H_5>!U85'C
MD_7LTXVE)-Q =HE&Q@6R#&LDB6?9'6[)EO-SZM[/J?MJ^ JV F[*X"TO1TW-
MC4J^T2M\RQ@SAL@.E<6'_OE37$>W'!+VKZQ2*C);3E;LO%\TSCO]
MG%]CB@@5/5\E5S+X'%C\%AI\)(DB7@,
M896[]5,'5NXKX[,8)HY\8U%*]W6ZLZPWI*S?1;;E_*1Q?M+#^4SL*P_%;B)S
M?-)M#U'J];6[FZ8WI*;_IF;+Z&EC]+1_B4>O;B#3\UN)94\=VW9._5;*]O6[
MLZPWI*POD34<8V0YDXG<==-X>0\R>OA>%O>%PO>:S6TY<.*X6K&OY1T4O4$5
M?9GB*]5M'KUOFDJ?_\J BI?)=(^\QPQ2!O*W0_,\TU/7<4\=-L\C')OC:7O:
M2L)FNV=LGH3-L4?3<7N:KU[@#SY6I
MI7I7Z)N"WJ""OE*PLE<_.AI)@.[+0RR&MB1/>?7&VHPV!V77Y?'0R?B->;4T
M)>,K\\JKCL%>Z*M3N4^8[J.4H1AV0LJX'(OZH]5!5]7A)"L/9NX)YR0IFR'@
M &@Q05S?$<*?.X5 <]RX^!]02P,$%     @ \$EH5WJFW@HF!   H10  !D
M  !X;"]W;W)K&ULK5C;CMLV$/T50@V*+)!=W2]V
M;0/KRUH.DF(1=]N'H@^T1=M")%$A*3O]^XXN5FPMK6I;O=@D->?,#.>(I#@Z
M4?:5'P@1Z'L<)7RL'(1(AZK*MP<28_Y 4Y+ DQUE,1;097N5IXS@H #%D6IH
MFJ/&.$R4R:@8>V:3$Q3%F?T])1$]C15?. U_"_4'D ^IDE.(]
M61/QDCXSZ*DU2Q#&).$A31 CN['RJ ]77FY?&/P>DA._:*,\DPVE7_/.*A@K
M6AX0BZ0RP9S,J/1'V$@#F/%
M4U! =CB+Q!=Z\DF5CYWS;6G$BU]TJFPU!6TS+FA<@2&".$S*?_R]FH<+ /#(
M 48%,)H ZP; K !F5X!5 :RN +L"V%T!3@5PN@+<"N!VG26O GA=/0PJP*"0
M0UF_HOAS+/!DQ.@)L=P:V/)&H: "#34/DUSK:\'@:0@X,?D57J=/E'/T3!A:
M'S CZ!ZMX8T*LH@@ND,S&J>9P(4RH3O%/-PBG 1H'D:9($$3_7Y.! XC?@<\
M+^LY>O_N#KU#*N+Y4X["!+TDH> ?8!#:OQUHQH&-CU0!V>0QJ=LJ\FD9N7$C
M#O^,&<#UF_!%]^ -"?RI>_ R^+)[\#*X__]F?O6?<[\2@EF_4V;!
M9][@6V"6A,G^\JWX\W'#!8.5_2^9T$LZ2TZ7[W9#GN(M&2NPG7'"CD29_/R3
M[FB_R%36)]F\3[)%GV1/?9(M^R3S^R1;]41VI6.KUK'5QE[L#:MD2V-8U?-5
M_DZFW9+"*2CR@]5QY*;>>:UV5)FYKJ#AIDO,3,'NMXP6TG,7##[D<)5+>RZ%G9K+:4NG3Y;)/,E\:
MO]F(?R6U<@=RB7BU1+Q.J\^_B\3K)))6;V\529]D"VG\KT32I\MEGV2^-/Y7
M(I%:O1*)>G%?$1.V+RZ[..PS62+*SZQZM+Y/>RRND1KC4WVXU"7COCYB)4=0=/BMF1#A:!QT3P0'!"6&\#S':7B
MW,D=U+>2DW\ 4$L#!!0    ( /!):%=)A-WBG@,  (<1   9    >&PO=V]R
M:W-H965T_I3928J@:Z=):
ML=I^./7#!L;V*L#2W25._WUG%\(9'Z&^*SK=%YM=YGEF=IYA[&%YY.))'@ 4
M>\A +O[+C(J<*EV-NR%$!3 \HSVW.MUX8/N#TAMVN"SI'K:@?B\W E=V
MRY*R' K)>$$$[%;6C7L=NXX&&(L_&!SER3711WGD_$DO[M*5Y>B(((-$:0J*
M7\^PABS33!C'WPVIU?K4P-/K5_:?S>'Q,(]4PIIG?[)4'5;6W"(I[&B5J0=^
M_ 6: TTT7\(S:3[)L;%U+))44O&\ 6,$.2OJ;_K2).($@#S] *\!>.> X V
MWP#\2ST$#2"XU,.D 9BCV_793>(BJFBX%/Q(A+9&-GUALF_0F"]6Z$+9*H%W
M&>)4^"O6XCLN)=F (-L#%4!^)%LLQ[3*@/ =N2D42UE6:3W)%I)*,,5 DO@E
MR:H44K(3/"=KGI>5HD9[!$4:@/_1D]0[?#2,7PS@;4QAFT?O-8^WWB#A%LHKXCL_
M$,_Q_)YXUI?#O;[C_#_O\6=[[R3#;XO*-WS^&WR?53,Q%04K]J>5^/X=$I,[
M!;G\JZ]&ZBB"_BATB[V6)4U@96$/E2">P0J__<:=.C_U"30F630F63P264?*
MH)4R&&(/-UP!JDDS@D]QCDK53RR!CI1I\[P7^+QGNIN4J*&Q[).M]C@Q'O4/
MV7/HNH[O+*;.TGX^E:3'<.*@Z6+6-8PN98PO8.RD:=*F:3*8IJWBR1/YK=3%
M+,G[>\@?0?36["#/I];LF&31F&3Q2&0=,::M&-.OHOU,QY1R3+)H3+)X)+*.
ME+-6RMD7;S^SCWJ [P1SUU^<=9^/[6:!,_-]_ZSY7,@7_S=?)T7S-D7SP10]
M@%2")?K\=1>Z.5*1#C>A0<9/K=PQR:(QR>*1R#JR+%I9%E]%$UJ,*>689-&8
M9/%(9!TI7>?#D.1\\3;4N.ST@\7
MX7^I#';HRKF:8;2BGOKKA>*E&6L?N<(AV5P>@*8@M '>WW$4K5EH!^V[E_!?
M4$L#!!0    ( /!):%=&U1>D/0,  "L,   9    >&PO=V]R:W-H965T$ ]>ZZ3-+1=" 7ZLL;./>?8]SB^=_VUD-]5 J#))DNY&EB)UGG/ME64
M0$;5EP,\JX->P79F)T\"?'=#&;QP'+,@B"%2!L&BC\K&$.:&B)WFB"L8B_<)BG0RLMQ:)84Z7J;X7ZP]0[:=K^"*1JN(O69>Q
MU[Y%HJ72(JO N(*,\?*7;JH\[ "0IQG@50#O$-#Y#<"O /ZQ"IT*T#E6H5L!
MNL<"@@I0F&F7R2HR'5)-AWTIUD2::&0S#X5=!1H3S+@Y6 ]:XEN&.#V<\4AD
M0#[1#2AR26[BF!G':4IFO#RVQO^S$#1EJ3K'D,>'D)R]/B>O">/D4R*6BO)8
M]6V-JS&<=E0ICTIE[S?*/KD57">*3'@,<0,^;,>_:\';F(4Z%=XV%2.OE? !
M\BOB.Q?$TW;^3WWR?^K3=G@($<+=)OA>+OWZ6/D%G__'8T7&
MZ!+C"^#1,_GZ$>/(3$.FOC6=F)*TTTQJ[MB>RFD$ PLO405R!=;PS2LW<-XW
MV75*LO"49)-3DDU/1+9GVN=/&OK59H\VPP5JG@)P] 8.D&0=]>[?KV,LCMNOLQ81/1=7<_:-(4=! S;=W?/V:O6V>OVYJ]<4+Q
MNS#7*)9"D!+B(I-4*="*K&BZ+&]?FF+YISR""Y*#C(!K+/E-Z6V5^]O/YY1D
M84GV;L<*Y\H[,'5R2L7IBMU)/0V)@5CPEV\R!- +Z?"Z&W R-0_W\P_ E02P,$%     @ \$EH5]@P
MS%)P @  7 8  !D   !X;"]W;W)K&ULI55=3]LP
M%/TK5Q'20-I(FK2EH#02_=C@ 0E1V)[=Y#:Q<.S,=EKX][.=-"L0$-I>&OOZ
MG',_?'T;[X1\5 6BAJ>2<37U"JVK"]]7:8$E4:>B0FY.-D*61)NMS'U52229
M(Y7,#X-@[)>$U6)K&H-:,<;R6HNBR)?)XA$[NI-_#VACN:%]H:_"2N
M2(XKU _5K30[OU/):(E<4<%!XF;J70XNEI'%.\!/BCMUL :;R5J(1[NYSJ9>
M8 -"AJFV"L1\MCA'QJR0">-WJ^EU+BWQ<+U7_^YR-[FLB<*Y8+]HIHNI-_$@
MPPVIF;X3NRML\QE9O50PY7YAUV(##])::5&V9!-!27GS)4]M'0X(1J>?$+:$
M\#5A^ XA:@G19ST,6\+PLQY&+<&E[C>YN\(MB"9)+,4.I$4;-;MPU7=L4R_*
M;9^LM#2GU/!TLL+>.:?IX=]Z?R?]^4_>W]1C*AKG\CI#=_1:YNA]UX;YM@Q[;C:)E$P
M&DYB?WM8K;>HP7AT%KY$+7I0030)!B]AR[>P\_%D..Y038[^P7,I4>9N3BE(
M1F='DOP!4$L#!!0    ( /!)
M:%<=)*I1T0@  /!C   9    >&PO=V]R:W-H965TQ%$*1GVF2%6>#I5*KD]&H6"Q%
MRHMAOA)9^)49$6<
M9T2*^[/!N7W"W$D54,_QSU@\%3O#I%J4NSS_48VPZ&Q@52T2B5BH"L'+?X_B
M4B1)12K;\6<#'6QS5H&[PR]T6B]\N3!WO!"7>?*O.%++L\%T0")QS]>)NLZ?
M0M$LT+CB+?*DJ#_)4S.O-2"+=:'RM DN6Y#&V>8__]FLB)T ^^B- *<)VC 41-P=&B3QDW ^- ,DR9@XXO-3F3\1617$US!/"LLV&50GTDR<4CY//Y1RW-Q[Y]-MG\AL9D6+)
MI2A(G)';+%;%EW)B.?PM3I(*=SI297.KI*-%T[3+3=.<-YIFDV]YII8%\;-(
M1!WQGCG>?2^>FN-GAOA1N9JWZ]IY6=<7CA%X(U9#8KM?B&,Y;M?Z,(=3<3O-[/[AX5W9Z:]E#WXM>V@.__LZ&1)K_&9V9@[WQ*+,;G=E
MUX3@;CD1E#
M)(R!8)H>QUL]CHUZO%'YXL?O51$EF<&Q:9T$3^K85&6Z8]"%IU5P841
MW5>K2)@W[E*$K2O"1V:D2%B A(5(& /!-*U.MEJ=&+5ZM9:+9:G4E_HYOZ\D
MFY9B+2H5=RG4".RK4"3,V\#&NP*UZK\]D2*34B0L0,)")(R!8)I(C[1O8=$>=[G ZV9,F,B,])&. S!@B
M80P$TR0WW4IN:JXI=W:"7[8[Q[4J%,^B.'OHDIZ1V%=Z2)@W?;UC=(YFXZ.C
M\?[Q&YF6'IPV0*8-7Z=U;6>\?Q1@':VSQI;KC*?3[9R:=F9;[$]94-$N;-#I8-,BT].&V 3!LB8:QC&HL9ZOY :3Z41AN:=MG4&D[W"EEHSA!*8RB:+M+6W+'-[HXNTA5_?DN@
M4)<'2O.@-!]*HPW-MK7K^NZ^0*%6#Y3&4#1=H*W;8YOM'BID]B26Q,\>RG.R
MB'Q?"E.9#:11*"Z"T$$IC*)HN[=99LLW6$LWEO8C56M87T];9HR@J
MI;]I?C:XW0M[3I?'>&G.VUNK2)H/I5$H+8#20BB-H6BZ5EM+RC9[4K<93W.I
MXO]4NV(I5CR.R 5/>+;H+HBGK\\\W*&SKU.HT02E^5 :A=("*"V$TAB*INNT
MM;]LL_]UDZ_5DGSE/P3Y7E8'[Y:_4 ,,2O.@-!]*HU!: *6%4!I#T?3[YEO#
MS;$^J/QUH.8;E.9!:3Z41J&T $H+H32&HNG2;ETZQ^S2?6_O:"$+OHH53S:U
M+UF*I/-N!3.PMZ3M#B?3&NLUB@?-Z4-I%$H+H+002F,HFB[5UH=SC&;(_/PY
MX\8ZPAS?6YE0NPU*\Z$T"J4%4%H(I3$435=P:[UWZWY9F^[AY-/US6WQ>5M/D/\2+Y9B4=EVQAH#
M:M5!:1Z4YD-I%$H+H+002F,HFB[WUJIS/LJJ68N0Z!=S: T#TKSH30*I0506@BE,11-
MWP):"]"9?509 G4#H30/2O.A- JE!5!:"*4Q%$U_>%+K!KKF[G<]RQ SK:^>
MH30/2O.A- JE!5!:V-!VRY!)1P=C5%)=J*VWYYJ]/7T?O%-U_/(-R^;$O34-
M[;,'I?E0&H72 B@MA-(8BJ9+O_4*W8_JL^="340HS8/2?"B-0FD!E!9":0Q%
MTZ6]\_!&+07/2KISN*UL%FC.$TAB*ILNP-?QUH-+P2,AJQG*[^_S7+V,5 FV
M+_F8_P]02P,$%     @ \$EH5YOM/ZDA @  4 0  !D   !X;"]W;W)K&UL?51A;YLP$/TKEB=-K;0%0IIVS0 I:34MTR9%C;9]
MF/;!@2-8M3&U36C^_]+ZS:"-*[9'K9@?]8;C5$PL.1<0F6XJHB&(J'+Z6(U
M<_D^X1>'UHS6Q#G9*?7L@G6>T- ) @&9=0P,7P=X "$<$C2*XY6[
ME*W5>,H19]-MLS/PTD!E"1SP:=MV-%O+UNF<_+G.U*2M05I_I[ST]6_.5_?3^YW @>TG RC8/#6$ P:A W:S^8WO/*$ $%HL+)W9P2W?5O%UA5^Y[9*8L=
MZ)C]^YH!S$@=%+P\0O>C8"U5V*":?'B;_G#@F?;4K[8:?6B%//,5H_8,<
M/6,($\X"?IS0#C%N]GHT*)3<;'E"?, JTY)%CU0,R9@*/M$<6 4MN5CY< \"
M4R64CHRM-9NJ"Y'ZEX>[O@=EV.B47"KM>UNV]R+=J.*/RGQ:V.E(UX:%7SI^LNB-8"I=W%U6E5B
M]5'PF2R9G_S!"4<#NN9%I8%OG1)VS@AM-(*SV)!\@U.=V"2-)@LN#)=-;\[SG,DG
M1P4K;^C$_I&PHV_'YZR@"V'N6W!(-NVO+.>+,FM'W<)"-*,V[2\PO6[:'@1M
M+BYSMF3YN.GJV<0U(]NP69L+"/O(C;O"",;Q6!@!#,N#.< XGH7E^9_FTT?G
MXS',6S^(]%%.'^5X5@@9NP^6)\S)[!6>:98E29IB*SH>!QV,L75+4_@)JV'>
M@('E@4Q_MM;X;N,5\GP=8'OZ7(5@,\4K$9LIOM: A-<-&%D6WFTL#S"P7<.>8!S),@R!6@S7:)HBJY/")[P_V%.2)%D61@ +.T@2
M#(&G$47BKL<
MP    !,"   +    7W)E;',O+G)E;'.=DKENPS ,0'_%T)XP!] AB#-E\18$
M^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI&/T04FE:U;@!2+8E
MCVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G]+6B)MHE*I)>D\M.G[Y"*D5'BS.[--%>Q
M*5D^)D6>CZ3R[L:Z'TMK?XC;MC'^:+0)8?MV//;51K72_VVWRL"1E76M#/#6
MK<=^ZY2L_4:IT#;C[/"P'+=2F]'[=[MK7;@Q?F.#JH*V!@ICP3>M;OS#\?A6
M7&NOE[K1X>YHE%XW:B1:;72K?ZKZ:'0X$GYC;_ZQ3O^T)LAF43G;-$>C27_@
MFW)!5T^*%Q'R2BY]*@ER>2D!Y&A4'L(%5]KYD,Y(UY? >*W@Y/Y=%^Q'W03E
M3F50GYSMMMJLXV7@5XS1STCUL/O;5^);]W^JT:Y6NE*GMNI:94)?CTXU$=#X
MC=[ZD3"R54>CW2E"FEJR MY)ZZ]N% N?3QVEE/MJ\;ZSBF$.",0
M9[R(<^-UK9RXQ7-B56'9>&^4Q
MW!L"[@TOW*)K6^GN(IC7:Z/A8S*.YE5E.QC-\?A]2 W@A[R89_]VT2RM"AM;
M"VVNE0_Q(YB/% RS82Y5W:48 6P"KE#AWC&AK#)AULKQU6OTX'U#&F# KX[B_W[UPJE+Z6L*W_R6,&MQ?E"PFS+:8PQUO @1,
MY9]P47Z8< O"J:W4=4I_-FQ@'*XZYU(>]'Z(23EBPBR)>M"MEA0FW%F2C?)3"_<#[N1]XY_<#+T[,E!8R9BW,
M8;9EUO%+^_NM[QRI7M?6UAB3LD/&; <875P'X>[L=ALCGT^ 7U-W.8'N@C')
M"0BS*D[5$M^ &>6(C'VBT;8Z*;ZO+0C) >*=,I4>=.2,LD;&;(U%L-6/@P^R
M3_%M;-S'L]Z,LD;&;(TO<-USZU. %XN-'&3VC/)&QNR-N:ELJ\25O!VV)B6)
MC%D2E[$06O)"QK$9YA/0FBG3#0@I<63,XB##^F!BFU'RR)CE\30,BU=7,5+Y
M/_$J!B6.*;,XGLM[]Z 8DQ+'E%D6:G-DUR-H+9.U>08.5WIQR
M3<[LFN>6V,2!.*YKO!*84\;)F8VS)UP3P98U(6*EYTWH.=7E 6*I@M1&/F&).R4,%LH?OI
M&?:X2&5]EL>8Y(X]LX7V87[L0@>9\Q(NCC$I"Q7L>S+/SRJ!'6-2%BJ8+41C
M'F-,RD(%LX7HR>^@IU,6*I@M1&/BGEY2%BI?X$Q*0N5OVG#1N&EA-T
M.GPXA[)0R;VW3V(.&IVR4,EL(7(S<9"02LI");.%XO;7<[G##!9F2LI")?N#
M8]3ZT0'&))\<8[;09"^=WC$E9J/S]JW$/F(.>/J,L-&.WT,/NXYX>CS$I"\V8+;10Z[0 AX"BO9%-=@'WA3__D7U[$YWA67=.<0-E724'XIM$-!*LONVG(%]4 ]Z$G%&J$!<_@'ZA(#'EW)HQGU[&G;[;EA\'@^G
M857MQK'[5=?#>E>.S7#7=N5T/K)I^V,SGI?]MNZ:]7NS+;4LEU'WMS.JI\?;
MF8O7KZ[\S\1VL]FOR^]V_>=83N,_!M@WD*@MZ#>0J"W3!ZV"?06U%L(]!;46PCT
M%M1;"/06U%L(]!;46PCT%M1;"/06U%L(]%;46PGT5M1;"?16U%L)]-;)RQ("
MO17U5@*]%?56 KT5]58"O17U5@*]%?56 KT5]58"O0WU-@*]#?4V KT-]38"
MO0WU-@*];?*RFT!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T>]G4!O1[V=
M0&]'O9U ;T>]G4!O1[V=0&^??*PDT-M1;R?0VU%O)]#;46\GT-M1;R?0.U#O
M(- [4.\@T#M0[R#0.U#O(- [4.\@T#M0[R#0.R8_FQ#H':AW$.@=J'<0Z!VH
M=Q#HG5'O3*!W1KTS@=X9]F?4.Q/HG5'O_)-Z#^/7H0S7GN\U7O\GJ1[/
MYY;KY2_+[YV3N_>"!7J;)%C>O?,(BR ;8#
MBWD!3W+;1DUBRW8[Y>UQ4D":$52@(LW9-&IMWW/C*WVK7O]Z\A1GA[X;XK+8
MI.2O&(OUAGH;2^=IR"LK%WJ;\M>P9M[66[LF)A8+PVHW)!K2/(TUBIOK.UK9
M79=F]X?\9WMA^:?E/E+0IE/3GOBIO7Q
M(F\HV+L)X\K' 2_G'O840MO0[-&&]-/V>1<[="RFIXYB>;K$.SVZU:JMJ7'U
MKL]'RN@#V29NB%+?E<>B%Z>34[YA.G[RL_.G,J<"\\['X'S,$POT];C7D8RG
MYSX7HI#:TZ_XEIA+G_U^-$Z[H>:3V?EZ_[BPG>81V?0X_X[_GO%;_2_V(4#Z
MD"!]*) ^-$@?!J2/"J2/2Y ^?H#TP1I:];8?7?#;]
MH?7F&5!+ 0(4 Q0    ( /!):%<'04UB@0   +$    0              "
M 0    !D;V-0&UL4$L! A0#%     @ \$EH5PZ>_G3O
M*P(  !$              ( !KP   &1O8U!R;W!S+V-O&UL4$L! A0#
M%     @ \$EH5YE&PO=V]R:W-H965T&UL4$L! A0#
M%     @ \$EH5WM%Y1",!@  I1L  !@              ("!20X  'AL+W=O
M!!@,    *
M   8              " @0L5  !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#%     @ \$EH5[^<.L>A
M$   O[4  !@              ("!IB   'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#%     @ \$EH5RQ5OY\K P  "@<  !@
M     ("!7T(  'AL+W=O&PO=V]R:W-H965TL2\: D0<  *P1   9              " @1AX  !X;"]W
M;W)K&UL4$L! A0#%     @ \$EH5\9,20K% P
M!@@  !D              ("!X'\  'AL+W=O&PO=V]R:W-H965TR
MD*=EN@<  ,D1   9              " @1*)  !X;"]W;W)K&UL4$L! A0#%     @ \$EH5[+>T=<5!   B@D  !D
M     ("! Y$  'AL+W=O&PO=V]R:W-H
M965T&UL4$L!
M A0#%     @ \$EH5W)3RQ'.!   $@L  !D              ("!K9L  'AL
M+W=O&PO=V]R:W-H965T&UL4$L! A0#%     @ \$EH
M5\/!#\-6 P  % @  !D              ("!U*L  'AL+W=O&PO=V]R:W-H965T=L_"AGP0  %H*   9              " @>BT  !X;"]W;W)K
M&UL4$L! A0#%     @ \$EH5\VLX"  !L!@  &0              @('!P@
M>&PO=V]R:W-H965T;%  !X;"]W;W)K&UL4$L! A0#%     @ \$EH5R")J:TY P  M0<  !D
M ("!N&PO=V]R:W-H965T
M&UL4$L! A0#
M%     @ \$EH5\#,UQZU @  TP4  !D              ("!60&PO=V]R:W-H965T5I!6DP(  (@%   9              " @?\-
M 0!X;"]W;W)K&UL4$L! A0#%     @ \$EH5[5,
M%19Y P  < <  !D              ("!R1 ! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#%     @ \$EH5R0$ 1XT P  E0<  !D
M             ("!@QL! 'AL+W=O&PO
M=V]R:W-H965TNQ&D+BP,
M  4(   9              " @;4C 0!X;"]W;W)K&UL4$L! A0#%     @ \$EH5^M,#  !D"0  &0              @(&C*@$ >&PO=V]R:W-H965TP!KAW6 D  *U5   9
M      " @;TN 0!X;"]W;W)K&UL4$L! A0#%
M  @ \$EH5[E1CW\6!   CA8  !D              ("!3#@! 'AL+W=O!@  &0
M@('<1P$ >&PO=V]R:W-H965TVQ#0=.P(  -$$   9              " @5Q* 0!X;"]W;W)K&UL4$L! A0#%     @ \$EH5U860UD3 P  (@D  !D
M         ("!SDP! 'AL+W=O&PO=V]R
M:W-H965T&UL
M4$L! A0#%     @ \$EH5Z$#*DR( @  8P8  !D              ("!QE4!
M 'AL+W=O&PO=V]R:W-H965T]: 0!X;"]W;W)K&UL4$L! A0#%     @
M\$EH5Q)8[F4, P  O@8  !D              ("!'5X! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#%     @ \$EH5]P1H3GA P
M!A0  !D              ("!%VH! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#%     @ \$EH5W##H NJ @  ^ <  !D
M     ("!$W4! 'AL+W=O&PO=V]R:W-H
M965T&UL4$L!
M A0#%     @ \$EH5]%8=#Q>!   O!,  !D              ("!SWX! 'AL
M+W=O&PO=V]R:W-H965T&UL4$L! A0#%     @ \$EH
M5_'>DD33 P   PP  !D              ("!8XH! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#%     @ \$EH5WJFW@HF!   H10
M !D              ("!6I&PO=V]R:W-H965TD
M/0,  "L,   9              " @8R? 0!X;"]W;W)K&UL4$L! A0#%     @ \$EH5]@PS%)P @  7 8  !D
M ("! *,! 'AL+W=O&PO=V]R:W-H965T
M;[3^I(0(  % $   9
M          " @:^N 0!X;"]W;W)K&UL4$L! A0#
M%     @ \$EH5_WESZ0S P  1A,   T              ( !![$! 'AL+W-T
M>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#%
M  @ \$EH5\?7


XML
88
Show.js
IDEA: XBRL DOCUMENT

// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}



XML
89
report.css
IDEA: XBRL DOCUMENT

/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}



XML
90
FilingSummary.xml
IDEA: XBRL DOCUMENT




  3.23.3
  
  html
  171
  290
  1
  true
  38
  0
  false
  5
  
    
      false
      false
      R1.htm
      100000 - Document - Document and Entity Information
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation
      Document and Entity Information
      Cover
      1
    
    
      false
      false
      R2.htm
      100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited
      Condensed Consolidated Balance Sheets (Unaudited)
      Statements
      2
    
    
      false
      false
      R3.htm
      100030 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) (Unaudited)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited
      Condensed Consolidated Balance Sheets (Parenthetical) (Unaudited)
      Statements
      3
    
    
      false
      false
      R4.htm
      100040 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Unaudited)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited
      Condensed Consolidated Statements of Comprehensive Loss (Unaudited)
      Statements
      4
    
    
      false
      false
      R5.htm
      100050 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Deficit) (Unaudited)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited
      Condensed Consolidated Statements of Stockholders' Equity (Deficit) (Unaudited)
      Statements
      5
    
    
      false
      false
      R6.htm
      100060 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited
      Condensed Consolidated Statements of Cash Flows (Unaudited)
      Statements
      6
    
    
      false
      false
      R7.htm
      995410 - Disclosure - Pay vs Performance Disclosure
      Sheet
      http://xbrl.sec.gov/ecd/role/PvpDisclosure
      Pay vs Performance Disclosure
      Notes
      7
    
    
      false
      false
      R8.htm
      995445 - Disclosure - Insider Trading Arrangements
      Sheet
      http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements
      Insider Trading Arrangements
      Notes
      8
    
    
      false
      false
      R9.htm
      995455 - Disclosure - Description of business
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDescriptionOfBusiness1
      Description of business
      Notes
      9
    
    
      false
      false
      R10.htm
      995465 - Disclosure - Summary of significant accounting policies
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPolicies1
      Summary of significant accounting policies
      Notes
      10
    
    
      false
      false
      R11.htm
      995475 - Disclosure - Equity method investment
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestment
      Equity method investment
      Notes
      11
    
    
      false
      false
      R12.htm
      995485 - Disclosure - Reduction in force
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForce
      Reduction in force
      Notes
      12
    
    
      false
      false
      R13.htm
      995495 - Disclosure - ATM Program
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgram
      ATM Program
      Notes
      13
    
    
      false
      false
      R14.htm
      995505 - Disclosure - Acquisition
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisition
      Acquisition
      Notes
      14
    
    
      false
      false
      R15.htm
      995515 - Disclosure - Accounts receivable, net
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNet
      Accounts receivable, net
      Notes
      15
    
    
      false
      false
      R16.htm
      995525 - Disclosure - Inventories, net
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNet
      Inventories, net
      Notes
      16
    
    
      false
      false
      R17.htm
      995545 - Disclosure - Prepaid and other current assets
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssets
      Prepaid and other current assets
      Notes
      17
    
    
      false
      false
      R18.htm
      995555 - Disclosure - Leases
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeases
      Leases
      Notes
      18
    
    
      false
      false
      R19.htm
      995565 - Disclosure - Property and equipment, net
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNet
      Property and equipment, net
      Notes
      19
    
    
      false
      false
      R20.htm
      995575 - Disclosure - Sales of Equity Method Investments
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestments1
      Sales of Equity Method Investments
      Notes
      20
    
    
      false
      false
      R21.htm
      995585 - Disclosure - Intangible assets, net and goodwill
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwill1
      Intangible assets, net and goodwill
      Notes
      21
    
    
      false
      false
      R22.htm
      995595 - Disclosure - Accrued Expenses and Other Current Liabilities
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities
      Accrued Expenses and Other Current Liabilities
      Notes
      22
    
    
      false
      false
      R23.htm
      995605 - Disclosure - Debt
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebt1
      Debt
      Notes
      23
    
    
      false
      false
      R24.htm
      995615 - Disclosure - Commitments and Contingencies
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingencies
      Commitments and Contingencies
      Notes
      24
    
    
      false
      false
      R25.htm
      995625 - Disclosure - Stock-Based Compensation
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensation
      Stock-Based Compensation
      Notes
      25
    
    
      false
      false
      R26.htm
      995645 - Disclosure - Net Loss Per Share
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShare1
      Net Loss Per Share
      Notes
      26
    
    
      false
      false
      R27.htm
      995655 - Disclosure - Income Taxes
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxes
      Income Taxes
      Notes
      27
    
    
      false
      false
      R28.htm
      995665 - Disclosure - Related Party Transactions
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactions1
      Related Party Transactions
      Notes
      28
    
    
      false
      false
      R29.htm
      995685 - Disclosure - Summary of significant accounting policies (Policies)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies
      Summary of significant accounting policies (Policies)
      Policies
      29
    
    
      false
      false
      R30.htm
      995705 - Disclosure - Reduction in force (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceTables
      Reduction in force (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForce
      30
    
    
      false
      false
      R31.htm
      995725 - Disclosure - Accounts receivable, net (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetTables
      Accounts receivable, net (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNet
      31
    
    
      false
      false
      R32.htm
      995735 - Disclosure - Inventories, net (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetTables
      Inventories, net (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNet
      32
    
    
      false
      false
      R33.htm
      995745 - Disclosure - Prepaid and other current assets (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsTables
      Prepaid and other current assets (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssets
      33
    
    
      false
      false
      R34.htm
      995755 - Disclosure - Leases (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeasesTables
      Leases (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeases
      34
    
    
      false
      false
      R35.htm
      995765 - Disclosure - Property and equipment, net (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetTables
      Property and equipment, net (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNet
      35
    
    
      false
      false
      R36.htm
      995775 - Disclosure - Intangible assets, net and goodwill (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillTables
      Intangible assets, net and goodwill (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwill1
      36
    
    
      false
      false
      R37.htm
      995785 - Disclosure - Accrued Expenses and Other Current Liabilities (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables
      Accrued Expenses and Other Current Liabilities (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities
      37
    
    
      false
      false
      R38.htm
      995805 - Disclosure - Commitments and Contingencies (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesTables
      Commitments and Contingencies (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingencies
      38
    
    
      false
      false
      R39.htm
      995815 - Disclosure - Stock-based compensation (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationTables
      Stock-based compensation (Tables)
      Tables
      39
    
    
      false
      false
      R40.htm
      995825 - Disclosure - Net Loss Per Share (Tables)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareTables
      Net Loss Per Share (Tables)
      Tables
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShare1
      40
    
    
      false
      false
      R41.htm
      995845 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails
      Summary of Significant Accounting Policies - Additional Information (Details)
      Details
      41
    
    
      false
      false
      R42.htm
      995855 - Disclosure - Equity method investment - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails
      Equity method investment - Additional Information (Details)
      Details
      42
    
    
      false
      false
      R43.htm
      995865 - Disclosure - Reduction in force - Summary of severance and termination-related costs (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails
      Reduction in force - Summary of severance and termination-related costs (Details)
      Details
      43
    
    
      false
      false
      R44.htm
      995875 - Disclosure - Reduction in force (Additional Information) (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceAdditionalInformationDetails
      Reduction in force (Additional Information) (Details)
      Details
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceTables
      44
    
    
      false
      false
      R45.htm
      995885 - Disclosure - ATM Program - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails
      ATM Program - Additional Information (Details)
      Details
      45
    
    
      false
      false
      R46.htm
      995895 - Disclosure - Acquisition - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails
      Acquisition - Additional Information (Details)
      Details
      46
    
    
      false
      false
      R47.htm
      995915 - Disclosure - Acquisition - Schedule of Goodwill Activity (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfGoodwillActivityDetails
      Acquisition - Schedule of Goodwill Activity (Details)
      Details
      47
    
    
      false
      false
      R48.htm
      995925 - Disclosure - Accounts receivable, net - Schedule of Accounts Receivable, Net (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails
      Accounts receivable, net - Schedule of Accounts Receivable, Net (Details)
      Details
      48
    
    
      false
      false
      R49.htm
      995935 - Disclosure - Accounts receivable, net - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails
      Accounts receivable, net - Additional Information (Details)
      Details
      49
    
    
      false
      false
      R50.htm
      995945 - Disclosure - Accounts receivable, net - Schedule of Accounts Receivable Allowance for Credit Loss (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableAllowanceForCreditLossDetails
      Accounts receivable, net - Schedule of Accounts Receivable Allowance for Credit Loss (Details)
      Details
      50
    
    
      false
      false
      R51.htm
      995955 - Disclosure - Inventories, net - Schedule of inventories (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoriesDetails
      Inventories, net - Schedule of inventories (Details)
      Details
      51
    
    
      false
      false
      R52.htm
      995975 - Disclosure - Revenue - Additional Information - (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13
      Revenue - Additional Information - (Details)
      Details
      52
    
    
      false
      false
      R53.htm
      995985 - Disclosure - Prepaid and other current assets - Schedule of Prepaid and other current assets (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails
      Prepaid and other current assets - Schedule of Prepaid and other current assets (Details)
      Details
      53
    
    
      false
      false
      R54.htm
      995995 - Disclosure - Prepaid and other current assets (Additional Information) (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsAdditionalInformationDetails
      Prepaid and other current assets (Additional Information) (Details)
      Details
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsTables
      54
    
    
      false
      false
      R55.htm
      996005 - Disclosure - Leases - Summary of Lease Expense (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails
      Leases - Summary of Lease Expense (Details)
      Details
      55
    
    
      false
      false
      R56.htm
      996015 - Disclosure - Leases - Summary of Future Remaining Lease Payments Obligations (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails
      Leases - Summary of Future Remaining Lease Payments Obligations (Details)
      Details
      56
    
    
      false
      false
      R57.htm
      996025 - Disclosure - Property and equipment, net - Schedule of property and equipment (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails
      Property and equipment, net - Schedule of property and equipment (Details)
      Details
      57
    
    
      false
      false
      R58.htm
      996035 - Disclosure - Property and equipment, net - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetAdditionalInformationDetails
      Property and equipment, net - Additional Information (Details)
      Details
      58
    
    
      false
      false
      R59.htm
      996045 - Disclosure - Intangible assets, net and goodwill - Summary of intangible assets (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails
      Intangible assets, net and goodwill - Summary of intangible assets (Details)
      Details
      59
    
    
      false
      false
      R60.htm
      996055 - Disclosure - Intangible assets, net and goodwill - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails
      Intangible assets, net and goodwill - Additional Information (Details)
      Details
      60
    
    
      false
      false
      R61.htm
      996065 - Disclosure - Intangible assets, net and goodwill - Summary of goodwill activity (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfGoodwillActivityDetails
      Intangible assets, net and goodwill - Summary of goodwill activity (Details)
      Details
      61
    
    
      false
      false
      R62.htm
      996075 - Disclosure - Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails
      Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details)
      Details
      62
    
    
      false
      false
      R63.htm
      996095 - Disclosure - Accrued expenses and other current liabilities - Schedule of warranty accruals (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails
      Accrued expenses and other current liabilities - Schedule of warranty accruals (Details)
      Details
      63
    
    
      false
      false
      R64.htm
      996105 - Disclosure - Sales of Equity Method Investments - Summarized Financial Information For Equity Method Investments (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails
      Sales of Equity Method Investments - Summarized Financial Information For Equity Method Investments (Details)
      Details
      64
    
    
      false
      false
      R65.htm
      996115 - Disclosure - Debt - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails
      Debt - Additional Information (Details)
      Details
      65
    
    
      false
      false
      R66.htm
      996125 - Disclosure - Commitments and Contingencies - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails
      Commitments and Contingencies - Additional Information (Details)
      Details
      66
    
    
      false
      false
      R67.htm
      996155 - Disclosure - Stock-Based Compensation - Stock compensation expense (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails
      Stock-Based Compensation - Stock compensation expense (Details)
      Details
      67
    
    
      false
      false
      R68.htm
      996165 - Disclosure - Stockholders' Equity - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails
      Stockholders' Equity - Additional Information (Details)
      Details
      68
    
    
      false
      false
      R69.htm
      996185 - Disclosure - Net Loss Per Share - Schedule of Computation of Basic and Diluted Loss Per Share (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails
      Net Loss Per Share - Schedule of Computation of Basic and Diluted Loss Per Share (Details)
      Details
      69
    
    
      false
      false
      R70.htm
      996195 - Disclosure - Net Loss Per Share - Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails
      Net Loss Per Share - Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share (Details)
      Details
      70
    
    
      false
      false
      R71.htm
      996205 - Disclosure - Income Taxes - Additional Information (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails
      Income Taxes - Additional Information (Details)
      Details
      71
    
    
      false
      false
      R72.htm
      996225 - Disclosure - Segment Information - Schedule of Company's Total Revenue by Geographic Area (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails
      Segment Information - Schedule of Company's Total Revenue by Geographic Area (Details)
      Details
      72
    
    
      false
      false
      R73.htm
      996235 - Disclosure - Related party transactions - Additional Information (Detail)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail
      Related party transactions - Additional Information (Detail)
      Details
      73
    
    
      false
      false
      R74.htm
      996245 - Disclosure - Subsequent events (Additional Information) (Details)
      Sheet
      http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails
      Subsequent events (Additional Information) (Details)
      Details
      74
    
    
      false
      false
      All Reports
      Book
      All Reports
    
  
  
    ftci-20230930.htm
    ftci-20230930.xsd
    ftci-20230930_cal.xml
    ftci-20230930_def.xml
    ftci-20230930_lab.xml
    ftci-20230930_pre.xml
  
  
    img145300382_0.jpg
  
  
    http://fasb.org/us-gaap/2023
    http://xbrl.sec.gov/dei/2023
    http://xbrl.sec.gov/ecd/2023
  
  true
  true





JSON
93
MetaLinks.json
IDEA: XBRL DOCUMENT

{
 "version": "2.2",
 "instance": {
  "ftci-20230930.htm": {
   "nsprefix": "ftci",
   "nsuri": "http://www.ftcsolar.com/20230930",
   "dts": {
    "inline": {
     "local": [
      "ftci-20230930.htm"
     ]
    },
    "schema": {
     "local": [
      "ftci-20230930.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "ftci-20230930_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "ftci-20230930_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "ftci-20230930_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "ftci-20230930_pre.xml"
     ]
    }
   },
   "keyStandard": 244,
   "keyCustom": 46,
   "axisStandard": 14,
   "axisCustom": 1,
   "memberStandard": 27,
   "memberCustom": 11,
   "hidden": {
    "total": 10,
    "http://www.ftcsolar.com/20230930": 2,
    "http://xbrl.sec.gov/dei/2023": 4,
    "http://fasb.org/us-gaap/2023": 4
   },
   "contextCount": 171,
   "entityCount": 1,
   "segmentCount": 38,
   "elementCount": 673,
   "unitCount": 5,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 721,
    "http://xbrl.sec.gov/ecd/2023": 1,
    "http://xbrl.sec.gov/dei/2023": 31
   },
   "report": {
    "R1": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation",
     "longName": "100000 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited",
     "longName": "100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited)",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited",
     "longName": "100030 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) (Unaudited)",
     "shortName": "Condensed Consolidated Balance Sheets (Parenthetical) (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "U_USDollarShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:TreasuryStockCommonShares",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited",
     "longName": "100040 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Comprehensive Loss (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited",
     "longName": "100050 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Deficit) (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Deficit) (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "C_9e43ff8d-85e7-44fb-a2ce-752c918255ce",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7c27c6cc-c1c8-4a2d-9cb6-81bd55a0729a",
      "name": "us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited",
     "longName": "100060 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R8": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDescriptionOfBusiness1",
     "longName": "995455 - Disclosure - Description of business",
     "shortName": "Description of business",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPolicies1",
     "longName": "995465 - Disclosure - Summary of significant accounting policies",
     "shortName": "Summary of significant accounting policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestment",
     "longName": "995475 - Disclosure - Equity method investment",
     "shortName": "Equity method investment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R12": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForce",
     "longName": "995485 - Disclosure - Reduction in force",
     "shortName": "Reduction in force",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:WorkforceActivityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:WorkforceActivityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgram",
     "longName": "995495 - Disclosure - ATM Program",
     "shortName": "ATM Program",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:AtmProgram",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:AtmProgram",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisition",
     "longName": "995505 - Disclosure - Acquisition",
     "shortName": "Acquisition",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R15": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNet",
     "longName": "995515 - Disclosure - Accounts receivable, net",
     "shortName": "Accounts receivable, net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNet",
     "longName": "995525 - Disclosure - Inventories, net",
     "shortName": "Inventories, net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssets",
     "longName": "995545 - Disclosure - Prepaid and other current assets",
     "shortName": "Prepaid and other current assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:PrepaidExpensesAndOtherCurrentAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:PrepaidExpensesAndOtherCurrentAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeases",
     "longName": "995555 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNet",
     "longName": "995565 - Disclosure - Property and equipment, net",
     "shortName": "Property and equipment, net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestments1",
     "longName": "995575 - Disclosure - Sales of Equity Method Investments",
     "shortName": "Sales of Equity Method Investments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R21": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwill1",
     "longName": "995585 - Disclosure - Intangible assets, net and goodwill",
     "shortName": "Intangible assets, net and goodwill",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities",
     "longName": "995595 - Disclosure - Accrued Expenses and Other Current Liabilities",
     "shortName": "Accrued Expenses and Other Current Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebt1",
     "longName": "995605 - Disclosure - Debt",
     "shortName": "Debt",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingencies",
     "longName": "995615 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensation",
     "longName": "995625 - Disclosure - Stock-Based Compensation",
     "shortName": "Stock-Based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShare1",
     "longName": "995645 - Disclosure - Net Loss Per Share",
     "shortName": "Net Loss Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxes",
     "longName": "995655 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactions1",
     "longName": "995665 - Disclosure - Related Party Transactions",
     "shortName": "Related Party Transactions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "28",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "995685 - Disclosure - Summary of significant accounting policies (Policies)",
     "shortName": "Summary of significant accounting policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "29",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceTables",
     "longName": "995705 - Disclosure - Reduction in force (Tables)",
     "shortName": "Reduction in force (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:ScheduleOfSeveranceAndTerminationRelatedCostsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "ftci:WorkforceActivityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:ScheduleOfSeveranceAndTerminationRelatedCostsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "ftci:WorkforceActivityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetTables",
     "longName": "995725 - Disclosure - Accounts receivable, net (Tables)",
     "shortName": "Accounts receivable, net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetTables",
     "longName": "995735 - Disclosure - Inventories, net (Tables)",
     "shortName": "Inventories, net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsTables",
     "longName": "995745 - Disclosure - Prepaid and other current assets (Tables)",
     "shortName": "Prepaid and other current assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeasesTables",
     "longName": "995755 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetTables",
     "longName": "995765 - Disclosure - Property and equipment, net (Tables)",
     "shortName": "Property and equipment, net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillTables",
     "longName": "995775 - Disclosure - Intangible assets, net and goodwill (Tables)",
     "shortName": "Intangible assets, net and goodwill (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables",
     "longName": "995785 - Disclosure - Accrued Expenses and Other Current Liabilities (Tables)",
     "shortName": "Accrued Expenses and Other Current Liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesTables",
     "longName": "995805 - Disclosure - Commitments and Contingencies (Tables)",
     "shortName": "Commitments and Contingencies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R39": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationTables",
     "longName": "995815 - Disclosure - Stock-based compensation (Tables)",
     "shortName": "Stock-based compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareTables",
     "longName": "995825 - Disclosure - Net Loss Per Share (Tables)",
     "shortName": "Net Loss Per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "40",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
     "longName": "995845 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)",
     "shortName": "Summary of Significant Accounting Policies - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:RetainedEarningsAccumulatedDeficit",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:RequirementToMaintainMinimumLiquidityLimitEachQuarter",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ftci:AbilityToContinueAsAGoingConcern",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails",
     "longName": "995855 - Disclosure - Equity method investment - Additional Information (Details)",
     "shortName": "Equity method investment - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "ftci:InvestmentToAcquireOwnershipInterest",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "div",
       "ftci:AbilityToContinueAsAGoingConcern",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ee798a8e-3390-4e41-9163-510662aa851f",
      "name": "us-gaap:EquityMethodInvestmentOwnershipPercentage",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails",
     "longName": "995865 - Disclosure - Reduction in force - Summary of severance and termination-related costs (Details)",
     "shortName": "Reduction in force - Summary of severance and termination-related costs (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:SeveranceCosts1",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ftci:WorkforceActivityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:SeveranceCosts1",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ftci:WorkforceActivityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceAdditionalInformationDetails",
     "longName": "995875 - Disclosure - Reduction in force (Additional Information) (Details)",
     "shortName": "Reduction in force (Additional Information) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "C_96bae902-c5be-41c3-9932-73a667ecdc2b",
      "name": "ftci:ReductionInNumberOfEmployee",
      "unitRef": "U_Employees",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "ftci:WorkforceActivityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_96bae902-c5be-41c3-9932-73a667ecdc2b",
      "name": "ftci:ReductionInNumberOfEmployee",
      "unitRef": "U_Employees",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "ftci:WorkforceActivityDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
     "longName": "995885 - Disclosure - ATM Program - Additional Information (Details)",
     "shortName": "ATM Program - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:StockIssuedDuringPeriodValueNewIssues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_3c5dbfbd-5ae7-444c-8cb5-f0c1ff0accb2",
      "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ftci:AtmProgram",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
     "longName": "995895 - Disclosure - Acquisition - Additional Information (Details)",
     "shortName": "Acquisition - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "C_47378fcb-4f00-46ce-9591-83535e4ed216",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:IntangibleAssetsFiniteLivedPolicy",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R47": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfGoodwillActivityDetails",
     "longName": "995915 - Disclosure - Acquisition - Schedule of Goodwill Activity (Details)",
     "shortName": "Acquisition - Schedule of Goodwill Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "C_18c302c5-e70f-476e-9568-d9794e27a751",
      "name": "us-gaap:Goodwill",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R48": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails",
     "longName": "995925 - Disclosure - Accounts receivable, net - Schedule of Accounts Receivable, Net (Details)",
     "shortName": "Accounts receivable, net - Schedule of Accounts Receivable, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:TradeReceivablesHeldForSaleAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:TradeReceivablesHeldForSaleAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails",
     "longName": "995935 - Disclosure - Accounts receivable, net - Additional Information (Details)",
     "shortName": "Accounts receivable, net - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "ftci:RetainageProvisionsIncludedInReceivables",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "ftci:RetainageProvisionsIncludedInReceivables",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableAllowanceForCreditLossDetails",
     "longName": "995945 - Disclosure - Accounts receivable, net - Schedule of Accounts Receivable Allowance for Credit Loss (Details)",
     "shortName": "Accounts receivable, net - Schedule of Accounts Receivable Allowance for Credit Loss (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "C_18c302c5-e70f-476e-9568-d9794e27a751",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_18c302c5-e70f-476e-9568-d9794e27a751",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoriesDetails",
     "longName": "995955 - Disclosure - Inventories, net - Schedule of inventories (Details)",
     "shortName": "Inventories, net - Schedule of inventories (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13",
     "longName": "995975 - Disclosure - Revenue - Additional Information - (Details)",
     "shortName": "Revenue - Additional Information - (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R53": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails",
     "longName": "995985 - Disclosure - Prepaid and other current assets - Schedule of Prepaid and other current assets (Details)",
     "shortName": "Prepaid and other current assets - Schedule of Prepaid and other current assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "ftci:VendorDeposits",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "ftci:VendorDeposits",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsAdditionalInformationDetails",
     "longName": "995995 - Disclosure - Prepaid and other current assets (Additional Information) (Details)",
     "shortName": "Prepaid and other current assets (Additional Information) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "ftci:ShortTermInterestBearingLoanCustomerDvance",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "ftci:ShortTermInterestBearingLoanCustomerDvance",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
     "longName": "996005 - Disclosure - Leases - Summary of Lease Expense (Details)",
     "shortName": "Leases - Summary of Lease Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails",
     "longName": "996015 - Disclosure - Leases - Summary of Future Remaining Lease Payments Obligations (Details)",
     "shortName": "Leases - Summary of Future Remaining Lease Payments Obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
     "longName": "996025 - Disclosure - Property and equipment, net - Schedule of property and equipment (Details)",
     "shortName": "Property and equipment, net - Schedule of property and equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetAdditionalInformationDetails",
     "longName": "996035 - Disclosure - Property and equipment, net - Additional Information (Details)",
     "shortName": "Property and equipment, net - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:Depreciation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:Depreciation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails",
     "longName": "996045 - Disclosure - Intangible assets, net and goodwill - Summary of intangible assets (Details)",
     "shortName": "Intangible assets, net and goodwill - Summary of intangible assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails",
     "longName": "996055 - Disclosure - Intangible assets, net and goodwill - Additional Information (Details)",
     "shortName": "Intangible assets, net and goodwill - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfGoodwillActivityDetails",
     "longName": "996065 - Disclosure - Intangible assets, net and goodwill - Summary of goodwill activity (Details)",
     "shortName": "Intangible assets, net and goodwill - Summary of goodwill activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "C_18c302c5-e70f-476e-9568-d9794e27a751",
      "name": "us-gaap:Goodwill",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
     "longName": "996075 - Disclosure - Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details)",
     "shortName": "Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "ftci:AccruedCostOfRevenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "ftci:AccruedCostOfRevenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails",
     "longName": "996095 - Disclosure - Accrued expenses and other current liabilities - Schedule of warranty accruals (Details)",
     "shortName": "Accrued expenses and other current liabilities - Schedule of warranty accruals (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "C_18a0d4fe-de53-4f60-b54f-d60af316a4de",
      "name": "us-gaap:StandardProductWarrantyAccrual",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_18a0d4fe-de53-4f60-b54f-d60af316a4de",
      "name": "us-gaap:StandardProductWarrantyAccrual",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails",
     "longName": "996105 - Disclosure - Sales of Equity Method Investments - Summarized Financial Information For Equity Method Investments (Details)",
     "shortName": "Sales of Equity Method Investments - Summarized Financial Information For Equity Method Investments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:GrossProfit",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R65": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
     "longName": "996115 - Disclosure - Debt - Additional Information (Details)",
     "shortName": "Debt - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "C_489015e2-9bc8-4f66-95d3-41b8a6a8bcc3",
      "name": "us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_489015e2-9bc8-4f66-95d3-41b8a6a8bcc3",
      "name": "us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
     "longName": "996125 - Disclosure - Commitments and Contingencies - Additional Information (Details)",
     "shortName": "Commitments and Contingencies - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:DescriptionOfTariffsClassification",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:DescriptionOfTariffsClassification",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails",
     "longName": "996155 - Disclosure - Stock-Based Compensation - Stock compensation expense (Details)",
     "shortName": "Stock-Based Compensation - Stock compensation expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f8f7e4da-7fe1-4117-9c25-9b4f36898ec3",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
     "longName": "996165 - Disclosure - Stockholders' Equity - Additional Information (Details)",
     "shortName": "Stockholders' Equity - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "C_ad21c8de-92ce-4f7e-b4f4-60317f30036b",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R69": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails",
     "longName": "996185 - Disclosure - Net Loss Per Share - Schedule of Computation of Basic and Diluted Loss Per Share (Details)",
     "shortName": "Net Loss Per Share - Schedule of Computation of Basic and Diluted Loss Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R70": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails",
     "longName": "996195 - Disclosure - Net Loss Per Share - Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share (Details)",
     "shortName": "Net Loss Per Share - Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails",
     "longName": "996205 - Disclosure - Income Taxes - Additional Information (Details)",
     "shortName": "Income Taxes - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails",
     "longName": "996225 - Disclosure - Segment Information - Schedule of Company's Total Revenue by Geographic Area (Details)",
     "shortName": "Segment Information - Schedule of Company's Total Revenue by Geographic Area (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "C_ea99b7b6-2356-48a5-94f6-33b22df8e3b6",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R73": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
     "longName": "996235 - Disclosure - Related party transactions - Additional Information (Detail)",
     "shortName": "Related party transactions - Additional Information (Detail)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:CashPayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_94a9caa1-1a7a-4c76-9db7-d7d3374cb037",
      "name": "ftci:CashPayments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
     "longName": "996245 - Disclosure - Subsequent events (Additional Information) (Details)",
     "shortName": "Subsequent events (Additional Information) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "C_03039d92-963c-439b-8db7-b5ae82b40184",
      "name": "ftci:PercentageOfShareholders",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ftci-20230930.htm",
      "first": true
     },
     "uniqueAnchor": null
    }
   },
   "tag": {
    "us-gaap_AmortizationOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfFinancingCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Amortization of debt issue costs",
        "terseLabel": "Amortization of debt issuance cost",
        "label": "Amortization of Debt Issuance Costs",
        "documentation": "Amount of amortization expense attributable to debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r375",
      "r511",
      "r868"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Retained Earnings (Accumulated Deficit), Ending Balance",
        "periodStartLabel": "Retained Earnings (Accumulated Deficit), Beginning Balance",
        "totalLabel": "Retained Earnings (Accumulated Deficit), Total",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Accumulated deficit",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r143",
      "r568",
      "r590",
      "r595",
      "r603",
      "r635",
      "r753"
     ]
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Axis]",
        "documentation": "Information by type of related party transaction."
       }
      }
     },
     "auth_ref": [
      "r528",
      "r529",
      "r923"
     ]
    },
    "ftci_DescriptionOfRevisedTariffsClassification": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "DescriptionOfRevisedTariffsClassification",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of Revised Tariffs classification",
        "documentation": "Description of Revised Tariffs classification"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_RelatedPartyAccruals": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RelatedPartyAccruals",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Related party accrued cost of revenue",
        "label": "Related party accruals",
        "documentation": "Related party accruals"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Domain]",
        "documentation": "Transaction between related party."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireBusinessesGross",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Businesses, Gross",
        "terseLabel": "Total purchase price",
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r482"
     ]
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization expense",
        "label": "Amortization of Intangible Assets",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r55",
      "r59"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Additional Paid in Capital, Beginning Balance",
        "totalLabel": "Additional Paid in Capital, Total",
        "label": "Additional Paid in Capital",
        "terseLabel": "Additional paid-in capital",
        "periodEndLabel": "Additional Paid in Capital, Ending Balance",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r753",
      "r939"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "ftci_RepurchaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RepurchaseMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Repurchase [Member]",
        "label": "Repurchase [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill, Total",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill",
        "terseLabel": "Intangible assets, net",
        "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "ftci_AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Accrued Expenses and Other Current Liabilities",
        "label": "Accrued Expenses and Other Current Liabilities Table Text Block",
        "documentation": "Accrued Expenses and Other Current Liabilities Table Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "ftci_SasanAminpourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "SasanAminpourMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sasan Aminpour [Member]",
        "label": "Sasan Aminpour [Member]",
        "documentation": "Sasan Aminpour [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_MaryCathyBehnenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "MaryCathyBehnenMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Mary Cathy Behnen [Member]",
        "label": "Mary Cathy Behnen [Member]",
        "documentation": "Mary Cathy Behnen [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_LiquidityPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "LiquidityPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Liquidity",
        "label": "Liquidity Policy [Text Block]",
        "documentation": "Liquidity Policy [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Available borrowing capacity under the Credit Facility",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "ftci_SouthLakeOneLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "SouthLakeOneLlcMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "South Lake One LLC [Member]",
        "label": "South Lake One LLC [Member]",
        "documentation": "South Lake One LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_AccruedCompensations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AccruedCompensations",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Compensations",
        "documentation": "Accrued compensation.",
        "terseLabel": "Accrued compensation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Domain]",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "ftci_FcxSolarLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "FcxSolarLlcMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fcx Solar Llc [Member]",
        "label": "Fcx Solar Llc [Member]",
        "documentation": "Fcx Solar Llc [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortized period",
        "label": "Finite-Lived Intangible Assets, Remaining Amortization Period",
        "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r541"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]",
        "terseLabel": "Balance sheet"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedAndNonrelatedPartyStatusAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedAndNonrelatedPartyStatusAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related and Nonrelated Party Status [Axis]",
        "documentation": "Information by related and nonrelated party status."
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r528",
      "r529",
      "r530",
      "r531",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r652",
      "r654",
      "r759"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedAndNonrelatedPartyStatusDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedAndNonrelatedPartyStatusDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related and Nonrelated Party Status [Domain]",
        "documentation": "Related and nonrelated party status."
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r528",
      "r529",
      "r530",
      "r531",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r652",
      "r654",
      "r759"
     ]
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAcquiredDuringPeriod",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfGoodwillActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Acquired During Period",
        "terseLabel": "Addition due to HX Tracker acquisition",
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination."
       }
      }
     },
     "auth_ref": [
      "r317",
      "r734"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, net",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment",
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total",
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r83"
     ]
    },
    "ftci_ImpactOfStockSplit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ImpactOfStockSplit",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Impact of stock split.",
        "label": "Impact of Stock Split"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [Member]",
        "documentation": "Party related to reporting entity. Includes, but is not limited to, affiliate, entity for which investment is accounted for by equity method, trust for benefit of employees, and principal owner, management, and members of immediate family."
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r528",
      "r529",
      "r530",
      "r531",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r652",
      "r654",
      "r685"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "ftci_ReserveAgainstRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ReserveAgainstRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reserve against revenue",
        "label": "Reserve Against Revenue",
        "documentation": "Reserve Against Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]",
        "terseLabel": "Counterparty Name"
       }
      }
     },
     "auth_ref": [
      "r232",
      "r233",
      "r357",
      "r383",
      "r531",
      "r724",
      "r725"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remainder of 2023",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "terseLabel": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "ftci_TreasuryStock1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "TreasuryStock1Member",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury Stock",
        "label": "Treasury Stock -1 [Member]",
        "documentation": "Treasury Stock -1 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted",
        "totalLabel": "Earnings Per Share, Diluted, Total",
        "label": "Earnings Per Share, Diluted",
        "verboseLabel": "Diluted loss per share",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r222",
      "r240",
      "r241",
      "r243",
      "r244",
      "r246",
      "r254",
      "r257",
      "r258",
      "r259",
      "r263",
      "r498",
      "r499",
      "r558",
      "r577",
      "r729"
     ]
    },
    "ftci_AssessmentTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AssessmentTypeAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assessment Type [Axis]",
        "label": "Assessment Type [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r518"
     ]
    },
    "ftci_PileTestingAndEquipmentInstallationBusinessMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PileTestingAndEquipmentInstallationBusinessMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pile testing and equipment installation business",
        "label": "Pile testing and equipment installation business [Member]",
        "documentation": "Pile testing and equipment installation business [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_AtmProgram": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AtmProgram",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgram"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ATM Program",
        "documentation": "ATM Program"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableRecoveries",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableAllowanceForCreditLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additions charged to earnings during the period",
        "label": "Accounts Receivable, Allowance for Credit Loss, Recovery",
        "documentation": "Amount of increase in allowance for credit loss on accounts receivable, from recovery."
       }
      }
     },
     "auth_ref": [
      "r308"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    },
    "us-gaap_PrimeRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrimeRateMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prime Rate [Member]",
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r773",
      "r784",
      "r794",
      "r819"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "terseLabel": "2026",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue [Policy Text Block]",
        "terseLabel": "Revenue recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r657",
      "r716",
      "r728"
     ]
    },
    "ftci_SettlementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "SettlementMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Settlement Member",
        "label": "Settlement [Member]",
        "documentation": "Settlement Member"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_RetireAggregateSharesOfCommonStock": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RetireAggregateSharesOfCommonStock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Retire Aggregate Shares of Common Stock.",
        "label": "Retire Aggregate Shares of Common Stock",
        "terseLabel": "Retire aggregate shares of common stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "terseLabel": "2025",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "ftci_AvailableLiquidityAfterConsideringFinancialCondition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AvailableLiquidityAfterConsideringFinancialCondition",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Available liquidity after considering financial condition",
        "documentation": "Available liquidity after considering financial condition"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "terseLabel": "2024",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Summary of intangible assets",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r58"
     ]
    },
    "us-gaap_ProductWarrantyAccrualNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails": {
       "parentTag": "us-gaap_StandardProductWarrantyAccrual",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other non-current liabilities",
        "label": "Product Warranty Accrual, Noncurrent",
        "terseLabel": "Warranty reserves",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r906",
      "r910"
     ]
    },
    "ftci_PrepaidExpensesAndOtherCurrentAssetsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PrepaidExpensesAndOtherCurrentAssetsTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expenses and Other Current Assets [Text Block]",
        "documentation": "Prepaid Expenses and Other Current Assets.",
        "terseLabel": "Prepaid and other current assets"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_RevisionsOfPreviouslyIssuedFinancialStatementsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RevisionsOfPreviouslyIssuedFinancialStatementsPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revisions Of Previously Issued Financial Statements.",
        "label": "Revisions Of Previously Issued Financial Statements [Policy Text Block]",
        "terseLabel": "Revisions of previously issued financial statements"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Future Remaining Lease Payments Obligations",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r921"
     ]
    },
    "ftci_SunEdisonUtilityHoldingsIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "SunEdisonUtilityHoldingsIncMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "SunEdison Utility Holdings Inc. member.",
        "label": "Sun Edison Utility Holdings Inc [Member]",
        "terseLabel": "SunEdison Utility Holdings, Inc. [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_ForwardStockSplit": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ForwardStockSplit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Forward stock split",
        "label": "Forward stock split",
        "documentation": "Forward stock split"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_Covid19PandemicPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "Covid19PandemicPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Covid-19 Pandemic Policy [Text Block]",
        "label": "Covid-19 Pandemic Policy [Text Block]",
        "terseLabel": "Covid-19 Pandemic"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Equity Method Investments [Table]",
        "terseLabel": "Schedule Of Equity Method Investments [Table]",
        "documentation": "Summarization of information required and determined to be disclosed concerning equity method investments in common stock. The summarized information includes: (a) the name of each investee or group of investees for which combined disclosure is appropriate, (2) the percentage ownership of common stock, (3) the difference, if any, between the carrying amount of an investment and the value of the underlying equity in the net assets and the accounting treatment of difference, if any, and (4) the aggregate value of each identified investment based on its quoted market price, if available."
       }
      }
     },
     "auth_ref": [
      "r190",
      "r228",
      "r294",
      "r295",
      "r297",
      "r298",
      "r501"
     ]
    },
    "ftci_RobertPhelpsMorrisMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RobertPhelpsMorrisMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Robert Phelps Morris [Member]",
        "label": "Robert Phelps Morris [Member]",
        "documentation": "Robert Phelps Morris [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OffBalanceSheetCreditLossLiabilityCreditLossExpenseReversal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OffBalanceSheetCreditLossLiabilityCreditLossExpenseReversal",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Credit losses and bad debt expense",
        "label": "Off-Balance-Sheet, Credit Loss, Liability, Credit Loss Expense (Reversal)",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss for off-balance sheet credit exposure. Excludes off-balance sheet credit exposure accounted for as insurance and instrument accounted for under derivatives and hedging."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisition",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestment",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestments1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments and Joint Ventures Disclosure [Text Block]",
        "terseLabel": "Equity method investment",
        "documentation": "The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group."
       }
      }
     },
     "auth_ref": [
      "r185",
      "r296",
      "r299",
      "r846"
     ]
    },
    "ftci_DescriptionOfBusinessTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "DescriptionOfBusinessTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of business.",
        "label": "Description Of Business [Table]",
        "terseLabel": "Description Of Business [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIndefiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Indefinite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance and exist in perpetuity."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r135"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "ftci_WorkingCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "WorkingCapital",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Working capital",
        "label": "Working Capital",
        "documentation": "Working Capital"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    },
    "ftci_ScheduleOfSeveranceAndTerminationRelatedCostsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ScheduleOfSeveranceAndTerminationRelatedCostsTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule Of severance and termination-related costs",
        "label": "Schedule of Severance and Termination Related Costs [Table Text Block]",
        "documentation": "Schedule of Severance and Termination Related Costs [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_HxTrackerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "HxTrackerMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "HX Tracker Member",
        "label": "HX Tracker [Member]",
        "terseLabel": "HX Tracker"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Equity Method Investments [Line Items]",
        "terseLabel": "Schedule Of Equity Method Investments [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r294",
      "r295",
      "r297",
      "r298",
      "r501"
     ]
    },
    "ftci_IncreaseInCommonStockIssuedAndOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "IncreaseInCommonStockIssuedAndOutstanding",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase in common stock issued and outstanding",
        "label": "Increase in Common stock Issued and Outstanding",
        "documentation": "Increase in common stock issued and outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "ftci_PurchaseOfPropertyAndEquipmentIncludedInAccountPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PurchaseOfPropertyAndEquipmentIncludedInAccountPayable",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchases of property and equipment included in ending accounts payable and accruals",
        "label": "Purchase Of Property And Equipment Included In Account Payable",
        "documentation": "Purchase of property and equipment included in account payable."
       }
      }
     },
     "auth_ref": []
    },
    "ftci_SharesIssuedForLegalSettlement": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "SharesIssuedForLegalSettlement",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares issued for legal settlement",
        "label": "Shares issued for legal settlement",
        "terseLabel": "Shares issued for legal settlement, shares"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_DeferredIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "DeferredIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes",
        "documentation": "Deferred Income Taxes"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "ftci_PurchasePricePaidInCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PurchasePricePaidInCash",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchase price paid in cash",
        "label": "Purchase price paid in cash",
        "terseLabel": "Purchase price paid in cash"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_StockIssuedForAccruedLegalSettlement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "StockIssuedForAccruedLegalSettlement",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock issued for accrued legal settlement",
        "label": "Stock issued for accrued legal settlement"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_AssessmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AssessmentMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "939 Assessment [Member]",
        "label": "939 Assessment [Member]",
        "terseLabel": "939 Assessment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r782",
      "r790",
      "r800",
      "r817",
      "r825",
      "r829",
      "r837"
     ]
    },
    "ftci_InvestmentToAcquireOwnershipInterest": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "InvestmentToAcquireOwnershipInterest",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investment to acquire ownership interest",
        "label": "Investment to acquire ownership interest",
        "terseLabel": "Investment to acquire ownership interest"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_PercantageOfConcentrationsOfCreditRisk": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PercantageOfConcentrationsOfCreditRisk",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percantage of Concentrations of credit risk",
        "label": "Percantage of Concentrations of credit risk",
        "terseLabel": "Concentrations of credit risk, percentage"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_RevenueRecognizedInExcessOfBillings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RevenueRecognizedInExcessOfBillings",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails": {
       "parentTag": "us-gaap_ReceivablesNetCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognized in excess of billings",
        "label": "Revenue recognized in excess of billings",
        "documentation": "Revenue recognized in excess of billings"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Ex Transition Period",
        "terseLabel": "Entity Ex Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r843"
     ]
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location",
        "documentation": "Location in the balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r87"
     ]
    },
    "ftci_FernwehEngagedOperatorCompanyLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "FernwehEngagedOperatorCompanyLlcMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fernweh Engaged Operator Company LLC [Member]",
        "label": "Fernweh Engaged Operator Company LLC [Member]",
        "documentation": "Fernweh Engaged Operator Company LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ToolsDiesAndMoldsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ToolsDiesAndMoldsMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tooling [Member]",
        "label": "Tools, Dies and Molds [Member]",
        "documentation": "Equipment commonly used to cut, shape, and form metal and other materials into goods for sale."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "terseLabel": "Class of Stock",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r201",
      "r202",
      "r203",
      "r228",
      "r254",
      "r255",
      "r257",
      "r259",
      "r265",
      "r266",
      "r298",
      "r344",
      "r346",
      "r347",
      "r348",
      "r351",
      "r352",
      "r381",
      "r382",
      "r385",
      "r388",
      "r395",
      "r501",
      "r599",
      "r600",
      "r601",
      "r602",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r620",
      "r634",
      "r656",
      "r678",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r845",
      "r869",
      "r877"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r782",
      "r790",
      "r800",
      "r817",
      "r825",
      "r829",
      "r837"
     ]
    },
    "us-gaap_RevenueRecognitionSalesReturnsReserveForSalesReturns": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionSalesReturnsReserveForSalesReturns",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reserve against revenue",
        "label": "Revenue Recognition, Sales Returns, Reserve for Sales Returns",
        "documentation": "Amount of estimated sales returns."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable, net",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "ftci_TaihuaNewEnergyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "TaihuaNewEnergyMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Taihua New Energy [Member]",
        "label": "Taihua New Energy [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ServiceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ServiceMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Service [Member]",
        "terseLabel": "Service",
        "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service."
       }
      }
     },
     "auth_ref": [
      "r741"
     ]
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]",
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative",
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r484"
     ]
    },
    "ftci_ForwardStockSplitTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ForwardStockSplitTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forward Stock Split",
        "label": "Corporate Conversion And Stock Split Policy [Text Block]",
        "documentation": "Corporate conversion and stock split."
       }
      }
     },
     "auth_ref": []
    },
    "ftci_RightOfUseAssetAndLeaseLiabilityRecognitionForNewLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RightOfUseAssetAndLeaseLiabilityRecognitionForNewLeases",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Right-Of-Use Asset And Lease Liability Recognition For New Leases",
        "label": "Right-Of-Use Asset And Lease Liability Recognition For New Leases",
        "terseLabel": "Right-of-use asset and lease liability recognition for new leases"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r772",
      "r783",
      "r793",
      "r818"
     ]
    },
    "ftci_AbilityToContinueAsAGoingConcern": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AbilityToContinueAsAGoingConcern",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ability to continue as a going concern",
        "label": "Ability to continue as a going concern",
        "terseLabel": "Liquidity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other",
        "terseLabel": "Accrued expenses",
        "negatedLabel": "Accrued expenses",
        "documentation": "Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "ftci_UnderwritingDiscountAndCommissions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "UnderwritingDiscountAndCommissions",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Underwriting Discount and Commissions",
        "label": "Underwriting Discount and Commissions"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Cost of Revenue",
        "totalLabel": "Cost of Goods and Services Sold, Total",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Total cost of revenue",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r540"
     ]
    },
    "ftci_StockBasedCompensationExpenseReversed": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "StockBasedCompensationExpenseReversed",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation expense reversed",
        "label": "Stock-based Compensation Expense Reversed",
        "documentation": "Stock-based Compensation Expense Reversd"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "ftci_AssessmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AssessmentTypeDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assessment Type [Domain]",
        "label": "Assessment Type [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_KristianNoldeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "KristianNoldeMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Kristian Nolde [Member]",
        "label": "Kristian Nolde [Member]",
        "documentation": "Kristian Nolde [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_RepurchasedCommonShare": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RepurchasedCommonShare",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Repurchased Common Share",
        "label": "Repurchased Common Share"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_DimensionEnergyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "DimensionEnergyMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dimension energy member.",
        "label": "Dimension Energy [Member]",
        "terseLabel": "Dimension Energy LLC"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_AdditionalCapitalContributions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AdditionalCapitalContributions",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional capital contributions",
        "documentation": "Additional capital contributions",
        "label": "Additional Capital Contributions"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenueAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Revenue [Abstract]",
        "terseLabel": "Cost of revenue:"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_UnamortizedPrepaidBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "UnamortizedPrepaidBalance",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unamortized prepaid balance",
        "label": "Unamortized Prepaid Balance",
        "documentation": "Unamortized Prepaid Balance"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_JobsActAccountingElectionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "JobsActAccountingElectionPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Jobs act accounting election policy text block.",
        "label": "Jobs Act Accounting Election Policy [Text Block]",
        "terseLabel": "JOBS Act Accounting Election"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_WorkforceActivityDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "WorkforceActivityDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForce"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reduction in force",
        "label": "Workforce Activity Disclosure [Text Block]",
        "documentation": "Workforce Activity Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_DayvLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "DayvLlcMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "DAYV LLC",
        "label": "DAYV LLC [Member]",
        "terseLabel": "DAYV LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "(Provision for) benefit from income taxes",
        "negatedTerseLabel": "Income tax expense (benefit)",
        "terseLabel": "(Benefit from) income taxes",
        "totalLabel": "Income Tax Expense (Benefit), Total",
        "label": "Income Tax Expense (Benefit)",
        "verboseLabel": "Income tax expense (benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r184",
      "r248",
      "r249",
      "r271",
      "r465",
      "r475",
      "r578"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Intangible Assets, Net (Excluding Goodwill), Total",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Intangible assets, net",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r57"
     ]
    },
    "ftci_CommonStockCapitalSharesReservedForFutureIssuanceValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuanceValue",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock, Capital Shares Reserved for Future Issuance Value",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance Value",
        "terseLabel": "Common stock, reserved for future issuance, value"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r772",
      "r783",
      "r793",
      "r818"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableAllowanceForCreditLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "periodEndLabel": "Accounts Receivable, Allowance for Credit Loss, Ending Balance",
        "periodStartLabel": "Accounts Receivable, Allowance for Credit Loss, Beginning Balance",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r290",
      "r305",
      "r306",
      "r309",
      "r935"
     ]
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Credit Facility Agreement [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDescriptionOfBusiness1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Description and Basis of Presentation [Text Block]",
        "terseLabel": "Description of business",
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r130",
      "r131"
     ]
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r830"
     ]
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expense",
        "totalLabel": "Prepaid Expense, Current, Total",
        "label": "Prepaid Expense, Current",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r313",
      "r314",
      "r721"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r453",
      "r454",
      "r608",
      "r874",
      "r875",
      "r876",
      "r918",
      "r940"
     ]
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeographicConcentrationRiskMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic Concentration Risk [Member]",
        "verboseLabel": "Geographic Concentration Risk [Member]",
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa)."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r702"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r767"
     ]
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic",
        "totalLabel": "Earnings Per Share, Basic, Total",
        "label": "Earnings Per Share, Basic",
        "verboseLabel": "Basic loss per share",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r222",
      "r240",
      "r241",
      "r243",
      "r244",
      "r246",
      "r252",
      "r254",
      "r257",
      "r258",
      "r259",
      "r263",
      "r498",
      "r499",
      "r558",
      "r577",
      "r729"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of presentation and principles of consolidation",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation and amortization",
        "totalLabel": "Depreciation, Depletion and Amortization, Nonproduction, Total",
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r60"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Operating Segments",
        "terseLabel": "Number of operating segment",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r879"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current",
        "terseLabel": "Current liabilities",
        "totalLabel": "Total current liabilities",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r192",
      "r228",
      "r298",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r486",
      "r487",
      "r488",
      "r501",
      "r753",
      "r911",
      "r924",
      "r925"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility",
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit (loss)",
        "label": "Gross Profit",
        "terseLabel": "Gross loss",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r228",
      "r267",
      "r274",
      "r278",
      "r280",
      "r298",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r501",
      "r731",
      "r911"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PayablesAndAccrualsAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued warranty balance reported in:",
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "us-gaap_IntangibleAssetsFiniteLivedPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsFiniteLivedPolicy",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets, net",
        "label": "Intangible Assets, Finite-Lived, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r537",
      "r538",
      "r539",
      "r541",
      "r726"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfGoodwillActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "terseLabel": "Translation",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r318"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Goodwill",
        "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined."
       }
      }
     },
     "auth_ref": [
      "r315",
      "r319",
      "r734"
     ]
    },
    "us-gaap_PrepaidTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidTaxes",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid taxes",
        "label": "Prepaid Taxes",
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r722",
      "r733",
      "r885"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expense",
        "verboseLabel": "Total stock compensation expense",
        "terseLabel": "Stock based compensation expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r448",
      "r459"
     ]
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, shares issued",
        "label": "Preferred Stock, Shares Issued",
        "totalLabel": "Preferred Stock, Shares Issued, Total",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r381"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "us-gaap_SharesIssuedPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesIssuedPricePerShare",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares Issued, Price Per Share",
        "documentation": "Per share or per unit amount of equity securities issued."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenueRevenueRecognized1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueRevenueRecognized1",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognized included in deferred revenue",
        "label": "Deferred Revenue, Revenue Recognized",
        "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r31",
      "r188",
      "r216",
      "r217",
      "r218",
      "r235",
      "r236",
      "r237",
      "r239",
      "r247",
      "r249",
      "r264",
      "r301",
      "r304",
      "r396",
      "r452",
      "r453",
      "r454",
      "r472",
      "r473",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r497",
      "r503",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r524",
      "r586",
      "r587",
      "r588",
      "r608",
      "r678"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromEquityMethodInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Loss from unconsolidated subsidiary",
        "negatedLabel": "(Income) loss from unconsolidated subsidiary",
        "label": "Income (Loss) from Equity Method Investments",
        "totalLabel": "Income (Loss) from Equity Method Investments, Total",
        "terseLabel": "Loss from unconsolidated subsidiary",
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss)."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r114",
      "r158",
      "r270",
      "r292",
      "r572"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "terseLabel": "Accumulated Deficit",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r188",
      "r235",
      "r236",
      "r237",
      "r239",
      "r247",
      "r249",
      "r301",
      "r304",
      "r452",
      "r453",
      "r454",
      "r472",
      "r473",
      "r489",
      "r491",
      "r492",
      "r494",
      "r497",
      "r586",
      "r588",
      "r608",
      "r940"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProgramRightsObligationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProgramRightsObligationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Program Rights Obligations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r829"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Share-based Payment Arrangement, Noncash Expense, Total",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock-based compensation",
        "verboseLabel": "Stock-based compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, shares authorized",
        "label": "Preferred Stock, Shares Authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r634"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r757",
      "r758",
      "r760",
      "r761",
      "r762",
      "r763",
      "r874",
      "r875",
      "r918",
      "r937",
      "r940"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Outstanding",
        "periodStartLabel": "Preferred Stock, Shares Outstanding, Beginning Balance",
        "periodEndLabel": "Preferred Stock, Shares Outstanding, Ending Balance",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r634",
      "r653",
      "r940",
      "r941"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r829"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r188",
      "r216",
      "r217",
      "r218",
      "r235",
      "r236",
      "r237",
      "r239",
      "r247",
      "r249",
      "r264",
      "r301",
      "r304",
      "r396",
      "r452",
      "r453",
      "r454",
      "r472",
      "r473",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r497",
      "r503",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r524",
      "r586",
      "r587",
      "r588",
      "r608",
      "r678"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, par value",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r381"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r12",
      "r34",
      "r490",
      "r493",
      "r524",
      "r586",
      "r587",
      "r863",
      "r864",
      "r865",
      "r874",
      "r875",
      "r876"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "periodEndLabel": "Cash and Cash Equivalents, at Carrying Value, Ending Balance",
        "periodStartLabel": "Cash and Cash Equivalents, at Carrying Value, Beginning Balance",
        "totalLabel": "Cash and Cash Equivalents, at Carrying Value, Total",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r194",
      "r719"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpenseMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development [Member]",
        "label": "Research and Development Expense [Member]",
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r781",
      "r792",
      "r802",
      "r827"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Diluted weighted-average number of common shares outstanding",
        "terseLabel": "Diluted",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "totalLabel": "Potential common shares excluded from diluted net loss per share",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r253",
      "r259"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r780",
      "r791",
      "r801",
      "r826"
     ]
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsPolicy",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments [Policy Text Block]",
        "terseLabel": "Equity method investments",
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r90",
      "r295"
     ]
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebt1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Debt and Other Borrowings",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r226",
      "r353",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r369",
      "r376",
      "r377",
      "r379"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r774",
      "r785",
      "r795",
      "r820"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Depreciation, Total",
        "label": "Depreciation",
        "terseLabel": "Depreciation expense",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r60"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPolicies1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of significant accounting policies",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r225"
     ]
    },
    "us-gaap_SubsidiarySaleOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsidiarySaleOfStockLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary, Sale of Stock [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Axis]",
        "terseLabel": "Sale of Stock",
        "documentation": "Information by type of sale of the entity's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impact on cash from changes in operating assets and liabilities:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r778",
      "r789",
      "r799",
      "r824"
     ]
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current",
        "terseLabel": "Current assets",
        "totalLabel": "Total current assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r210",
      "r228",
      "r298",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r485",
      "r487",
      "r501",
      "r753",
      "r911",
      "r912",
      "r924"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Accounts Payable, Total",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfChangesInProductWarrantyReservesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties, Total",
        "label": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Changes in liability for pre-existing warranties",
        "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties."
       }
      }
     },
     "auth_ref": [
      "r342"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r775",
      "r786",
      "r796",
      "r821"
     ]
    },
    "ftci_CbpAssessmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "CbpAssessmentsMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "CBP Assessments [Member]",
        "label": "CBP Assessments [Member]",
        "terseLabel": "CBP Assessments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrual",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfChangesInProductWarrantyReservesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Standard and Extended Product Warranty Accrual, Total",
        "label": "Standard and Extended Product Warranty Accrual",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r338",
      "r340",
      "r343"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Common, Shares",
        "terseLabel": "Treasury Stock, Shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "ftci_VendorDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "VendorDeposits",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vendor Deposits",
        "documentation": "Vendor deposits",
        "terseLabel": "Vendor deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic",
        "verboseLabel": "Basic weighted-average number of common shares outstanding",
        "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r252",
      "r259"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r775",
      "r786",
      "r796",
      "r821"
     ]
    },
    "ftci_CashPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "CashPayments",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash payments",
        "label": "Cash Payments",
        "documentation": "Cash Payments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Axis]",
        "terseLabel": "Related Party",
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r412",
      "r528",
      "r529",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r652",
      "r654",
      "r685",
      "r923"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeRelocationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelocationMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Relocation [Member]",
        "terseLabel": "Employee Relocation",
        "documentation": "Relocation of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r776",
      "r787",
      "r797",
      "r822"
     ]
    },
    "us-gaap_IncreaseDecreaseInDueFromOtherRelatedPartiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInDueFromOtherRelatedPartiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Related party receivable",
        "label": "Increase (Decrease) in Due from Other Related Parties, Current",
        "documentation": "Amount of increase (decrease) in related party receivables classified as other, due within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "ftci_RequirementToMaintainMinimumLiquidityLimitEachQuarter": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RequirementToMaintainMinimumLiquidityLimitEachQuarter",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Requirement to maintain minimum liquidity limit each quarter",
        "documentation": "Requirement to maintain minimum liquidity limit each quarter"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gain from disposal of investment in unconsolidated subsidiary",
        "negatedLabel": "Gain from disposal of investment in unconsolidated subsidiary",
        "label": "Equity Method Investment, Realized Gain (Loss) on Disposal",
        "totalLabel": "Equity Method Investment, Realized Gain (Loss) on Disposal, Total",
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment."
       }
      }
     },
     "auth_ref": [
      "r866",
      "r867",
      "r868"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustments",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Comprehensive Income (Loss), Net of Tax, Total",
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Other comprehensive gain (loss)",
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r16",
      "r212",
      "r215",
      "r220",
      "r503",
      "r504",
      "r509",
      "r556",
      "r575",
      "r863",
      "r864"
     ]
    },
    "ftci_ProvisionForInventoryObsolescence": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ProvisionForInventoryObsolescence",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expense charge to establish an inventory obsolesce reserve.",
        "label": "Provision For Inventory Obsolescence",
        "terseLabel": "Provision for obsolete and slow-moving inventory"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Text Block]",
        "terseLabel": "Stock-Based Compensation",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r414",
      "r418",
      "r449",
      "r450",
      "r451",
      "r751"
     ]
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesSummaryOfChangesInProductWarrantyReservesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Standard and Extended Product Warranty Accrual, Decrease for Payments, Total",
        "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments",
        "negatedLabel": "Settlements made during the period",
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty."
       }
      }
     },
     "auth_ref": [
      "r341"
     ]
    },
    "ftci_PurchaseSharesOfCommonStock": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PurchaseSharesOfCommonStock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase shares of common stock",
        "label": "Purchase Shares of Common Stock",
        "documentation": "Purchase Shares of Common Stock"
       }
      }
     },
     "auth_ref": []
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EquityMethodInvesteeNameDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Domain]",
        "terseLabel": "Investment, Name"
       }
      }
     },
     "auth_ref": [
      "r294",
      "r295",
      "r297"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r777",
      "r788",
      "r798",
      "r823"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by financing activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r223"
     ]
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfRestructuringDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Type of Restructuring [Domain]",
        "documentation": "Identification of the types of restructuring costs."
       }
      }
     },
     "auth_ref": [
      "r325",
      "r326",
      "r329",
      "r330"
     ]
    },
    "us-gaap_IncreaseDecreaseInDueToOtherRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInDueToOtherRelatedParties",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Related party payble",
        "label": "Increase (Decrease) in Due to Other Related Parties",
        "documentation": "Amount of increase (decrease) in related party payables classified as other."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReceivablesNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Receivables, Net, Current",
        "documentation": "The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value."
       }
      }
     },
     "auth_ref": [
      "r753"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r223"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r541"
     ]
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Contingency [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "ftci_PatrickMCookMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PatrickMCookMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Patrick M. Cook [Member]",
        "label": "Patrick M. Cook [Member]",
        "documentation": "Patrick M. Cook [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowance for doubtful accounts",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "negatedLabel": "Allowance for credit losses",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r290",
      "r305"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranties Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Contingency [Table]",
        "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r78",
      "r146",
      "r147"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Net cash used in operating activities",
        "terseLabel": "Net cash used in operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash used in operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r127",
      "r128",
      "r129"
     ]
    },
    "us-gaap_ProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product [Member]",
        "terseLabel": "Product",
        "documentation": "Article or substance produced by nature, labor or machinery."
       }
      }
     },
     "auth_ref": [
      "r741"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r779",
      "r790",
      "r800",
      "r825"
     ]
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r397",
      "r398",
      "r409"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r502"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r779",
      "r790",
      "r800",
      "r817",
      "r825"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r812"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r228",
      "r298",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r486",
      "r487",
      "r488",
      "r501",
      "r632",
      "r730",
      "r766",
      "r911",
      "r924",
      "r925"
     ]
    },
    "ftci_RecievablesFromRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RecievablesFromRelatedParties",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails": {
       "parentTag": "us-gaap_ReceivablesNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Related party receivables",
        "label": "Recievables from Related Parties",
        "documentation": "Recievables from Related Parties"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net decrease in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r127"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock par value of $0.0001 per share, 10,000,000 shares authorized; none issued as of September 30, 2023 and December 31, 2022",
        "label": "Preferred Stock, Value, Issued",
        "totalLabel": "Preferred Stock, Value, Issued, Total",
        "periodStartLabel": "Preferred Stock, Value, Issued, Beginning Balance",
        "periodEndLabel": "Preferred Stock, Value, Issued, Ending Balance",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r565",
      "r753"
     ]
    },
    "us-gaap_TradeReceivablesHeldForSaleAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeReceivablesHeldForSaleAmount",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails": {
       "parentTag": "us-gaap_ReceivablesNetCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade receivables",
        "label": "Accounts Receivable, Held-for-Sale",
        "documentation": "Amount, before valuation allowance, of accounts receivable held for sale."
       }
      }
     },
     "auth_ref": [
      "r286"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r320",
      "r321",
      "r322",
      "r323",
      "r541",
      "r542"
     ]
    },
    "ftci_NagendraCherukupalliMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "NagendraCherukupalliMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Nagendra Cherukupalli [Member]",
        "label": "Nagendra Cherukupalli [Member]",
        "documentation": "Nagendra Cherukupalli [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period",
        "totalLabel": "Total cash and restricted cash",
        "terseLabel": "Total cash and restricted cash",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r127",
      "r224"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwill1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Intangible assets, net and goodwill",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r133"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Other Operating Assets, Total",
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "RSUs",
        "verboseLabel": "Restricted Stock Awards [Member]",
        "label": "Restricted Stock [Member]",
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Axis]",
        "terseLabel": "Balance Sheet Location",
        "documentation": "Information by location on balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate commitments",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r58"
     ]
    },
    "ftci_AssetPurchaseAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AssetPurchaseAgreementMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset purchase agreement.",
        "label": "Asset Purchase Agreement [Member]",
        "terseLabel": "Asset Purchase Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r779",
      "r790",
      "r800",
      "r825"
     ]
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, net",
        "label": "Accounts Receivable [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r162",
      "r163",
      "r164",
      "r288",
      "r289",
      "r291"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r779",
      "r790",
      "r800",
      "r825"
     ]
    },
    "ftci_PlcBarclaysBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PlcBarclaysBankMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Barclays Bank PLC [Member]",
        "label": "PLC Barclays Bank [Member]",
        "documentation": "PLC Barclays Bank [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r510",
      "r533"
     ]
    },
    "ftci_ReductionInNumberOfEmployee": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ReductionInNumberOfEmployee",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reduction in number Of employee",
        "label": "Reduction In Number of Employee",
        "documentation": "Reduction In Number of Employee"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r780",
      "r791",
      "r801",
      "r826"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, gross",
        "label": "Property, Plant and Equipment, Gross",
        "periodEndLabel": "Property, Plant and Equipment, Gross, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Gross, Beginning Balance",
        "totalLabel": "Property, Plant and Equipment, Gross, Total",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r195",
      "r571"
     ]
    },
    "ftci_ReductionInWorkforce": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ReductionInWorkforce",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reduction in workforce",
        "label": "Reduction in workforce",
        "terseLabel": "Reduction in workforce"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r779",
      "r790",
      "r800",
      "r825"
     ]
    },
    "us-gaap_LineOfCreditFacilityFairValueOfAmountOutstanding": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityFairValueOfAmountOutstanding",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Fair Value of Amount Outstanding",
        "terseLabel": "Credit Facility amount",
        "documentation": "Fair value of the amount outstanding under the credit facility."
       }
      }
     },
     "auth_ref": [
      "r500"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosures of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_AccruedExpensesAndOtherCurrentLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AccruedExpensesAndOtherCurrentLiabilitiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Expenses and Other Current Liabilities Abstract",
        "documentation": "Accrued Expenses and Other Current Liabilities Abstract."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeasesOfLesseeDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasesOfLesseeDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Disclosure [Table Text Block]",
        "terseLabel": "Summary of Supplemental Information, Operating Lease",
        "documentation": "Tabular disclosure for lessee's operating leases. Includes, but is not limited to, description of lessee's operating lease, existence and terms of renewal or purchase options and escalation clauses, restrictions imposed by lease, such as those concerning dividends, additional debt, and further leasing, rent holidays, rent concessions, or leasehold improvement incentives and unusual provisions or conditions."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r166",
      "r167",
      "r168",
      "r169"
     ]
    },
    "us-gaap_GoodwillTransfers": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillTransfers",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfGoodwillActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Transfers",
        "terseLabel": "Translation",
        "documentation": "Amount of transfers into (out of) an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r893"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and stockholders' equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r156",
      "r569",
      "r753",
      "r871",
      "r882",
      "r919"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRestructuringAndRelatedCostsTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Restructuring and Related Costs [Table]",
        "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring."
       }
      }
     },
     "auth_ref": [
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r779",
      "r790",
      "r800",
      "r825"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Inventories, Total",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, net",
        "label": "Property, Plant and Equipment, Net",
        "periodEndLabel": "Property, Plant and Equipment, Net, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Net, Beginning Balance",
        "totalLabel": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r560",
      "r571",
      "r753"
     ]
    },
    "us-gaap_LettersOfCreditOutstandingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LettersOfCreditOutstandingAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Letters of Credit Outstanding, Amount",
        "terseLabel": "Letters of credit outstanding",
        "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY",
        "label": "Liabilities and Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r510",
      "r533"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date",
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r180"
     ]
    },
    "ftci_CostOfAssessment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "CostOfAssessment",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cost of Assessment",
        "label": "Cost of Assessment",
        "terseLabel": "Cost of Assessment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LossContingencyDamagesSoughtValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingencyDamagesSoughtValue",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Damages sought value",
        "label": "Loss Contingency, Damages Sought, Value",
        "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter."
       }
      }
     },
     "auth_ref": [
      "r899",
      "r900",
      "r901"
     ]
    },
    "us-gaap_SupplementalDeferredPurchasePrice": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalDeferredPurchasePrice",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "HX Tracker purchase price included in ending accruals",
        "label": "Supplemental Deferred Purchase Price",
        "documentation": "A device of credit enhancement where a part of the purchase price for the receivable/ payable is retained to serve as a cash collateral."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r44",
      "r45"
     ]
    },
    "ftci_DescriptionOfTariffsClassification": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "DescriptionOfTariffsClassification",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of Tariffs classification",
        "label": "Description of Tariffs classification",
        "terseLabel": "Description of Tariffs classification"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RestatementAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RestatementAdjustmentMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments",
        "label": "Revision of Prior Period, Adjustment [Member]"
       }
      }
     },
     "auth_ref": [
      "r235",
      "r236",
      "r237",
      "r246",
      "r247",
      "r263",
      "r497",
      "r498",
      "r847",
      "r848",
      "r849",
      "r850",
      "r854",
      "r856",
      "r857"
     ]
    },
    "us-gaap_IncomeLossFromEquityMethodInvestmentsNetOfDividendsOrDistributions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromEquityMethodInvestmentsNetOfDividendsOrDistributions",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss from unconsolidated subsidiary",
        "label": "Income (Loss) from Equity Method Investments, Net of Dividends or Distributions",
        "totalLabel": "Income (Loss) from Equity Method Investments, Net of Dividends or Distributions, Total",
        "documentation": "This element represents the undistributed income (or loss) of equity method investments, net of dividends or other distributions received from unconsolidated subsidiaries, certain corporate joint ventures, and certain noncontrolled corporations; such investments are accounted for under the equity method of accounting. This element excludes distributions that constitute a return of investment, which are classified as investing activities."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from stock option exercises",
        "totalLabel": "Proceeds from stock option exercises",
        "label": "Proceeds from Stock Options Exercised",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r14"
     ]
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]",
        "terseLabel": "Investment, Name"
       }
      }
     },
     "auth_ref": [
      "r294",
      "r295",
      "r297"
     ]
    },
    "ftci_SeanHunklerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "SeanHunklerMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sean Hunkler [Member]",
        "label": "Sean Hunkler [Member]",
        "documentation": "Sean Hunkler [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_CashPaidDuringThePeriodForThirdPartyInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "CashPaidDuringThePeriodForThirdPartyInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash paid during the period for third party interest",
        "label": "Cash paid during the period for third party interest",
        "documentation": "Cash paid during the period for third party interest"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities Act File Number",
        "terseLabel": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finished goods",
        "label": "Inventory, Finished Goods, Gross",
        "totalLabel": "Inventory, Finished Goods, Gross, Total",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r860"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease right-of-use assets",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r515"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncashIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Lease expense and other",
        "totalLabel": "Other Noncash Income (Expense), Total",
        "label": "Other Noncash Income (Expense)",
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other."
       }
      }
     },
     "auth_ref": [
      "r129"
     ]
    },
    "us-gaap_IncomeTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Paid",
        "terseLabel": "Cash paid during the period for taxes, net of refunds",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r42"
     ]
    },
    "ftci_ProductAndServiceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ProductAndServiceMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Member]",
        "documentation": "Product and service."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities",
        "terseLabel": "Deferred tax liability",
        "negatedLabel": "Deferred tax liability",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Cash",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "periodEndLabel": "Cash, Ending Balance",
        "periodStartLabel": "Cash, Beginning Balance",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r564",
      "r619",
      "r642",
      "r753",
      "r766",
      "r858"
     ]
    },
    "us-gaap_TechnologyEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TechnologyEquipmentMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Information Technology Equipment [Member]",
        "label": "Technology Equipment [Member]",
        "documentation": "Equipment used in the creation, maintenance and utilization of information systems which include computers and peripherals."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Developed Technology [Member]",
        "label": "Developed Technology Rights [Member]",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r149"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Accounts Payable and Accrued Liabilities",
        "terseLabel": "Accruals and other current liabilities",
        "documentation": "The increase (decrease) during the reporting period in other obligations or expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Assets",
        "terseLabel": "Deferred tax asset",
        "documentation": "Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r514"
     ]
    },
    "ftci_PercentageOfShareholders": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PercentageOfShareholders",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage of shareholders",
        "label": "percentage of shareholders",
        "documentation": "percentage of shareholders"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "ftci_CapitalContributions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "CapitalContributions",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Capital contributions",
        "label": "Capital contributions"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Total lease cost",
        "totalLabel": "Total lease cost",
        "terseLabel": "Total lease cost",
        "label": "Lease, Cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r519",
      "r752"
     ]
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "us-gaap_EquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquipmentMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Field Equipment [Member]",
        "label": "Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments [Table Text Block]",
        "terseLabel": "Summary of Equity Method Investments",
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information."
       }
      }
     },
     "auth_ref": [
      "r293"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration Risk, Percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r49",
      "r88",
      "r89",
      "r284"
     ]
    },
    "us-gaap_ShortTermLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Short-term lease cost",
        "label": "Short-Term Lease, Cost",
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less."
       }
      }
     },
     "auth_ref": [
      "r521",
      "r752"
     ]
    },
    "ftci_DeferredCostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "DeferredCostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred cost of revenue",
        "label": "Deferred Cost of Revenue",
        "documentation": "Deferred cost of revenue"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_WorkforceActivityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "WorkforceActivityLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Workforce Activity [Line Items]",
        "documentation": "Workforce Activity [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "verboseLabel": "Total Revenue [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r852"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r815"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Operating lease cost",
        "terseLabel": "Operating lease cost",
        "label": "Operating Lease, Cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r520",
      "r752"
     ]
    },
    "ftci_PrimeRatePlusPayable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "PrimeRatePlusPayable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prime Rate Plus Payable",
        "label": "Prime rate plus payable",
        "documentation": "Prime rate plus payable"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_ScheduleOfOperatingLeaseAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ScheduleOfOperatingLeaseAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of operating lease assets and liabilities.",
        "label": "Schedule Of Operating Lease Assets And Liabilities Table [Text Block]",
        "terseLabel": "Schedule of Supplemental Balance Sheet Information of Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments",
        "terseLabel": "Equity method investment",
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized."
       }
      }
     },
     "auth_ref": [
      "r272",
      "r292",
      "r859",
      "r881"
     ]
    },
    "ftci_WorkforceActivityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "WorkforceActivityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Workforce Activity [Abstract]",
        "documentation": "Workforce Activity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Prepaid Expense and Other Assets, Total",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid and other current assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "ftci_WarrantsRecoverableFromManufacturer": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "WarrantsRecoverableFromManufacturer",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Warranty recoverable from manufacturer",
        "terseLabel": "Warranty recoverable from manufacturer",
        "label": "Warrants Recoverable From Manufacturer",
        "documentation": "Warrants recoverable from manufacturer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r419",
      "r420",
      "r421",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r415",
      "r417",
      "r419",
      "r420",
      "r421",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Revenues, Total",
        "label": "Revenues",
        "terseLabel": "Total revenue",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r219",
      "r228",
      "r268",
      "r269",
      "r273",
      "r276",
      "r277",
      "r281",
      "r282",
      "r284",
      "r298",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r501",
      "r559",
      "r911"
     ]
    },
    "ftci_UnauditedInterimFinancialInformationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "UnauditedInterimFinancialInformationPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unaudited interim financial information.",
        "label": "Unaudited Interim Financial Information Policy [Text Block]",
        "terseLabel": "Unaudited Interim Financial Information"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories, net",
        "label": "Inventory Disclosure [Text Block]",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r310"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationContingentConsiderationLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Business Combination, Contingent Consideration, Liability, Total",
        "label": "Business Combination, Contingent Consideration, Liability",
        "terseLabel": "Business acquisition liability",
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r84",
      "r483"
     ]
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Loss from operations",
        "terseLabel": "Loss from operations",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r267",
      "r274",
      "r278",
      "r280",
      "r731"
     ]
    },
    "ftci_AlphaSteelMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AlphaSteelMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Alpha Steel",
        "label": "Alpha Steel [Member]",
        "terseLabel": "Alpha Steel [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r415",
      "r417",
      "r419",
      "r420",
      "r421",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447"
     ]
    },
    "us-gaap_BusinessAcquisitionEquityInterestIssuedOrIssuableValueAssigned": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionEquityInterestIssuedOrIssuableValueAssigned",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Equity Interest Issued or Issuable, Value Assigned",
        "terseLabel": "Purchase price paid in shares value",
        "documentation": "Value of equity interests (such as common shares, preferred shares, or partnership interest) issued or issuable to acquire the entity."
       }
      }
     },
     "auth_ref": [
      "r150"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Revenue from Contract with Customer, Excluding Assessed Tax, Total",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Total revenue",
        "verboseLabel": "Revenues",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r268",
      "r269",
      "r273",
      "r276",
      "r277",
      "r281",
      "r282",
      "r284",
      "r407",
      "r408",
      "r540"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoriesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoriesDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Inventory, Net",
        "terseLabel": "Inventories",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r720",
      "r753"
     ]
    },
    "us-gaap_SeveranceCosts1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeveranceCosts1",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Severance Costs",
        "label": "Severance Costs",
        "documentation": "Amount of expenses for special or contractual termination benefits provided to current employees involuntarily terminated under a benefit arrangement associated exit or disposal activities pursuant to an authorized plan. Excludes expenses related to one-time termination benefits, a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "ftci_OutstandingCapitalStockHeld": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "OutstandingCapitalStockHeld",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding capital stock held",
        "label": "Outstanding capital stock held",
        "documentation": "Outstanding capital stock held"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_SharesIssuedForLegalSettlementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "SharesIssuedForLegalSettlementAmt",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares issued for legal settlement amt",
        "label": "Shares issued for legal settlement amt",
        "terseLabel": "Shares issued for legal settlement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShare1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Net Loss Per Share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r251",
      "r260",
      "r261",
      "r262"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "terseLabel": "Other non-current liabilities",
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred Stock",
        "label": "Preferred Stock [Member]",
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r757",
      "r760",
      "r761",
      "r762",
      "r763",
      "r937",
      "r940"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r419",
      "r420",
      "r421",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447"
     ]
    },
    "us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Goodwill, Expected Tax Deductible Amount",
        "terseLabel": "Goodwill",
        "documentation": "The amount of goodwill arising from a business combination that is expected to be deductible for tax purposes."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "ftci_ProceedsFromDeferredOfferingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ProceedsFromDeferredOfferingCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from deferred offering costs.",
        "label": "Proceeds From Deferred Offering Costs",
        "terseLabel": "Deferred offering costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investment, Ownership Percentage",
        "terseLabel": "Ownership percentage",
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting."
       }
      }
     },
     "auth_ref": [
      "r294"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r80",
      "r481",
      "r748",
      "r749"
     ]
    },
    "ftci_EquityMethodInvestmentsFinancialInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "EquityMethodInvestmentsFinancialInformationTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Equity Method Investments Financial Information",
        "label": "Equity Method Investments Financial Information Table Text Block",
        "documentation": "Equity method investments financial information."
       }
      }
     },
     "auth_ref": []
    },
    "ftci_SubscriptionRevenueContractTerms": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "SubscriptionRevenueContractTerms",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subscription revenue contract terms",
        "label": "Subscription Revenue Contract Terms",
        "documentation": "Subscription revenue contract terms."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other expense, net",
        "label": "Other Nonoperating Income (Expense)",
        "totalLabel": "Other Nonoperating Income (Expense), Total",
        "negatedLabel": "Other income (expense), net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "ftci_AynaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AynaMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ayna",
        "label": "Ayna [Member]",
        "terseLabel": "Ayna [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Acquiree [Domain]",
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree."
       }
      }
     },
     "auth_ref": [
      "r481",
      "r748",
      "r749"
     ]
    },
    "ftci_ProductWarrantyLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ProductWarrantyLife",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Life",
        "documentation": "Product warranty life.",
        "terseLabel": "Product warranty life"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenuesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues [Abstract]",
        "terseLabel": "Revenue:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Revenue allocated to remaining performance obligations, amount of revenue expected to be recognized",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r179"
     ]
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from disposal of investment in unconsolidated subsidiary",
        "label": "Proceeds from Sale of Equity Method Investments",
        "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "terseLabel": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "ftci_AtmProgramMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AtmProgramMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ATM Program [Member]",
        "documentation": "ATM Program [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r408",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r408",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747"
     ]
    },
    "ftci_GoodwillAcquisitionOfPileTestingAndEquipmentInstallationBusiness": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "GoodwillAcquisitionOfPileTestingAndEquipmentInstallationBusiness",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfGoodwillActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition of pile testing and equipment installation business",
        "label": "Goodwill Acquisition of pile testing and equipment installation business",
        "documentation": "Goodwill Acquisition of pile testing and equipment installation business"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-average common shares outstanding:",
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r481"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "terseLabel": "Subsequent Event",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r510",
      "r533"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r80",
      "r481"
     ]
    },
    "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares",
        "terseLabel": "Purchase price paid in shares",
        "documentation": "Number of shares of equity interests issued or issuable to acquire entity."
       }
      }
     },
     "auth_ref": [
      "r150"
     ]
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "terseLabel": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r815"
     ]
    },
    "ftci_RetainageProvisionsIncludedInReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "RetainageProvisionsIncludedInReceivables",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retainage provisions included in receivables",
        "label": "Retainage Provisions Included in Receivables",
        "documentation": "Retainage provisions included in receivables."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-federal tax obligations",
        "label": "Accrued Income Taxes, Current",
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r154"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net loss to cash used in operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Expenses and Other Current Liabilities",
        "label": "Accrued Expenses and Other Current Liabilities Disclosure Text Block",
        "documentation": "Accrued Expenses and Other Current Liabilities Disclosure Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "ftci_DescriptionOfBusinessLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "DescriptionOfBusinessLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of business.",
        "label": "Description Of Business [Line Items]",
        "terseLabel": "Description Of Business [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of treasury stock",
        "terseLabel": "Repurchase of treasury stock",
        "label": "Stock Repurchased During Period, Shares",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r102",
      "r103",
      "r143",
      "r602",
      "r678",
      "r698"
     ]
    },
    "us-gaap_InventoryImpairmentPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryImpairmentPolicy",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Impairment, Policy [Policy Text Block]",
        "terseLabel": "Impairment",
        "documentation": "Disclosure of accounting policy for recognizing inventory losses, including, but not limited to, substantial and unusual losses resulting from the subsequent measurement of inventory due to physical deterioration, obsolescence, or changes in price levels."
       }
      }
     },
     "auth_ref": [
      "r884"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Domain]",
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r838"
     ]
    },
    "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentUnusedBorrowingCapacityAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unused borrowing capacity",
        "label": "Debt Instrument, Unused Borrowing Capacity, Amount",
        "documentation": "Amount of unused borrowing capacity under the long-term financing arrangement that is available to the entity as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Domain]",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r327",
      "r663"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "Revenue",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r186",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r410"
     ]
    },
    "us-gaap_AssetAcquisitionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetAcquisitionTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisition"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Acquisition [Text Block]",
        "terseLabel": "Acquisition",
        "documentation": "The entire disclosure for asset acquisition."
       }
      }
     },
     "auth_ref": [
      "r917"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other accrued expenses",
        "label": "Other Accrued Liabilities, Current",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r324",
      "r327",
      "r663"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r838"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories, net",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r193",
      "r206",
      "r310",
      "r311",
      "r312",
      "r536",
      "r727"
     ]
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Lease Expense",
        "label": "Lease, Cost [Table Text Block]",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r920"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Allowance for slow-moving and obsolete inventory",
        "terseLabel": "Allowance for slow-moving and obsolete inventory",
        "label": "Inventory Valuation Reserves",
        "periodEndLabel": "Inventory Valuation Reserves, Ending Balance",
        "periodStartLabel": "Inventory Valuation Reserves, Beginning Balance",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r861"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r234",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r360",
      "r365",
      "r366",
      "r367",
      "r368",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r378",
      "r512",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r870"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r839"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r77",
      "r416"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less imputed interest",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less imputed interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r137"
     ]
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "terseLabel": "Debt Instrument [Table]",
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r67",
      "r70",
      "r92",
      "r93",
      "r94",
      "r97",
      "r141",
      "r142",
      "r234",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r360",
      "r365",
      "r366",
      "r367",
      "r368",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r378",
      "r512",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r870"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes payable",
        "label": "Taxes Payable, Current",
        "totalLabel": "Taxes Payable, Current, Total",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r840"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Accelerated Cost",
        "terseLabel": "Increased stock-based compensation expenses",
        "documentation": "Amount of additional cost recognized for award under share-based payment arrangement from occurrence of event accelerating recognition of cost."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Present value of operating lease liabilities",
        "label": "Operating Lease, Liability",
        "terseLabel": "Total lease liability",
        "totalLabel": "Present value of operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r516"
     ]
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r880",
      "r922"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r771",
      "r841"
     ]
    },
    "srt_BoardOfDirectorsChairmanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "BoardOfDirectorsChairmanMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Board of Directors and Chairman",
        "label": "Board of Directors Chairman [Member]"
       }
      }
     },
     "auth_ref": [
      "r880"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current portion of operating lease liability",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities, current portion (included in Accrued expenses and other current liabilities)",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r516"
     ]
    },
    "us-gaap_ProductWarrantyExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Expense",
        "terseLabel": "Warranty provision",
        "documentation": "The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r904"
     ]
    },
    "ftci_ShortTermInterestBearingLoanCustomerDvance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "ShortTermInterestBearingLoanCustomerDvance",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term Interest Bearing Loan & Customer dvance",
        "documentation": "Short-term Interest Bearing Loan & Customer dvance"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "verboseLabel": "Stock Options [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTypeAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Axis]",
        "documentation": "Information by type of short-term debt arrangement."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails": {
       "parentTag": "us-gaap_StandardProductWarrantyAccrual",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other current liabilities",
        "label": "Product Warranty Accrual, Current",
        "terseLabel": "Warranty reserves",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r906",
      "r910"
     ]
    },
    "srt_DirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "DirectorMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Board of Directors",
        "label": "Director [Member]"
       }
      }
     },
     "auth_ref": [
      "r880",
      "r938"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r235",
      "r236",
      "r237",
      "r264",
      "r540",
      "r598",
      "r620",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r634",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r643",
      "r644",
      "r645",
      "r646",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r654",
      "r657",
      "r658",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r678",
      "r759"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r771",
      "r841"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r771",
      "r841"
     ]
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Intangible assets, estimated useful life",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfOperatingLeasedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfOperatingLeasedAssetsTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Operating Leased Assets [Table]",
        "documentation": "Schedule of long-lived, depreciable assets that are subject to a operating lease agreements and are used in the normal conduct of business to produce goods and services. Examples may include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IPOMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IPOMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "IPO [Member]",
        "documentation": "First sale of stock by a private company to the public."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination and Asset Acquisition [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated amortization",
        "terseLabel": "Accumulated amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r322"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liability, net of current portion",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r516"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred income taxes",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r463",
      "r464",
      "r562"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "verboseLabel": "United States [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Dividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Dividends",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends",
        "totalLabel": "Dividends, Total",
        "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r143"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated other comprehensive loss",
        "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r112",
      "r204",
      "r567",
      "r591",
      "r595"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated depreciation",
        "terseLabel": "Accumulated depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "periodEndLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance",
        "periodStartLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance",
        "totalLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r196",
      "r570"
     ]
    },
    "country_VN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "VN",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "VIET NAM",
        "verboseLabel": "Vietnam [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LetterOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LetterOfCreditMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Letter of Credit",
        "label": "Letter of Credit [Member]",
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "terseLabel": "Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Table]",
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyLiabilityTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [Table]",
        "terseLabel": "Product Warranty Liability [Table]",
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r51",
      "r52",
      "r173",
      "r174",
      "r177",
      "r178"
     ]
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "terseLabel": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]",
        "documentation": "Different names of stock transactions and the different attributes of each transaction."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "(Gain) loss from sale of property and equipment",
        "totalLabel": "Gain (Loss) on Disposition of Property Plant Equipment, Total",
        "label": "Loss from sale of property and equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Stock compensation expense",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Intangible assets, net",
        "terseLabel": "Intangible assets, net",
        "label": "Finite-Lived Intangible Assets, Net",
        "periodEndLabel": "Finite-Lived Intangible Assets, Net, Ending Balance",
        "periodStartLabel": "Finite-Lived Intangible Assets, Net, Beginning Balance",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r541"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Revenue allocated to remaining performance obligations, expected timing of satisfaction",
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r180"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfGoodwillActivityDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfGoodwillActivityDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Goodwill, Total",
        "periodStartLabel": "Goodwill, Beginning Balance",
        "periodEndLabel": "Goodwill, Ending Balance",
        "label": "Goodwill",
        "terseLabel": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r316",
      "r555",
      "r734",
      "r753",
      "r887",
      "r894"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accounts Payable, Current, Total",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r753"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets, gross",
        "label": "Finite-Lived Intangible Assets, Gross",
        "totalLabel": "Finite-Lived Intangible Assets, Gross, Total",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r542"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingCapitalNet",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 23.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Lease payments and other, net",
        "totalLabel": "Increase (Decrease) in Other Operating Assets and Liabilities, Net, Total",
        "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net",
        "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "terseLabel": "Acquisitions, net of cash acquired",
        "negatedLabel": "Acquisitions, net of cash acquired",
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of goodwill activity",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r734",
      "r886",
      "r887",
      "r888",
      "r889",
      "r890",
      "r891",
      "r892",
      "r893",
      "r894",
      "r895",
      "r896"
     ]
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedBonusesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedBonusesCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Bonuses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements."
       }
      }
     },
     "auth_ref": [
      "r95"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical"
       }
      }
     },
     "auth_ref": [
      "r282",
      "r283",
      "r621",
      "r622",
      "r623",
      "r687",
      "r689",
      "r692",
      "r694",
      "r701",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r718",
      "r742",
      "r758",
      "r914",
      "r936"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "General and administrative expense",
        "totalLabel": "General and Administrative Expense, Total",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r658"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical"
       }
      }
     },
     "auth_ref": [
      "r282",
      "r283",
      "r621",
      "r622",
      "r623",
      "r687",
      "r689",
      "r692",
      "r694",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r718",
      "r742",
      "r758",
      "r914",
      "r936"
     ]
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyLiabilityLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [Line Items]",
        "terseLabel": "Product Warranty Liability [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfOtherPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfOtherPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Other Property, Plant, and Equipment",
        "terseLabel": "Proceeds from sale of property and equipment",
        "documentation": "Amount of cash inflow for the sale of long-lived, physical assets used to produce goods and services and not intended for resale, classified as other."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationForfeited",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeiture of unvested stock",
        "label": "Shares Issued, Shares, Share-Based Payment Arrangement, Forfeited",
        "documentation": "Number of shares (or other type of equity) forfeited during the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetAcquisitionTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetAcquisitionTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Acquisition [Table Text Block]",
        "terseLabel": "Schedule of allocation of the purchase price",
        "documentation": "Tabular disclosure of asset acquisition."
       }
      }
     },
     "auth_ref": [
      "r917"
     ]
    },
    "us-gaap_BusinessCombinationIndemnificationAssetsAmountAsOfAcquisitionDate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationIndemnificationAssetsAmountAsOfAcquisitionDate",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Closing of an acquisition",
        "label": "Business Combination, Indemnification Assets, Amount as of Acquisition Date",
        "documentation": "The amount of indemnification assets (amounts to be reimbursed if and when certain assumed liabilities are paid) recognized at the acquisition date of a business combination."
       }
      }
     },
     "auth_ref": [
      "r82"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Issuance of Common Stock",
        "terseLabel": "Sale of common stock",
        "verboseLabel": "Proceeds from common stock",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOrSaleOfEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOrSaleOfEquity",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Proceeds from Issuance or Sale of Equity, Total",
        "label": "Proceeds from Issuance or Sale of Equity",
        "terseLabel": "Sale of common stock",
        "documentation": "The cash inflow from the issuance of common stock, preferred stock, treasury stock, stock options, and other types of equity."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r599"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive loss:",
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RegistrationPaymentArrangementAccrualCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RegistrationPaymentArrangementAccrualCarryingValue",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registration Payment Arrangement, Accrual Carrying Value",
        "terseLabel": "Amount accrued, for cash payments",
        "documentation": "The carrying amount as of the balance sheet date of the liability representing the obligation under the registration payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "us-gaap_ProceedsFromIssuanceInitialPublicOffering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceInitialPublicOffering",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from IPO",
        "label": "Proceeds from Issuance Initial Public Offering",
        "verboseLabel": "Proceeds of IPO",
        "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Comprehensive loss",
        "totalLabel": "Comprehensive loss",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r213",
      "r215",
      "r221",
      "r557",
      "r576"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "terseLabel": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]",
        "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]",
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r517"
     ]
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total accrued expenses",
        "terseLabel": "Accrued expenses",
        "label": "Accrued Liabilities, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accounts receivable, net",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, net",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r286",
      "r287"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee related liabilities",
        "label": "Employee-related Liabilities",
        "totalLabel": "Employee-related Liabilities, Total",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r933"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Accounts Receivable Allowance for Credit Loss",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r883"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpenseMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "General and administrative [Member]",
        "label": "General and Administrative Expense [Member]",
        "documentation": "Primary financial statement caption encompassing general and administrative expense."
       }
      }
     },
     "auth_ref": [
      "r116"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r49",
      "r88",
      "r89",
      "r284",
      "r702",
      "r853"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of property and equipment",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "ftci_CommonStockValueAuthorized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "CommonStockValueAuthorized",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, value authorized",
        "label": "Common Stock Value Authorized",
        "documentation": "Common stock value authorized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other current assets",
        "label": "Other Assets, Current",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r209",
      "r753"
     ]
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Schedule of warranty accruals",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Summary of Changes in Product Warranty Reserves",
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r339"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock Units (RSU)",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NonUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonUsMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-US [Member]",
        "verboseLabel": "Non US [Member]",
        "documentation": "Countries excluding the United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r942",
      "r943",
      "r944",
      "r945"
     ]
    },
    "us-gaap_TypeOfArrangementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfArrangementAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]",
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative",
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r484"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Selling and Marketing Expense, Total",
        "label": "Selling and Marketing Expense",
        "terseLabel": "Selling and marketing",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Selling, General and Administrative Expense, Total",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "General and administrative expense",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r120"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, net",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r176",
      "r181",
      "r182"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "ftci_SuretyCollateral": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "SuretyCollateral",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Surety collateral",
        "label": "Surety Collateral",
        "documentation": "Surety collateral."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Vesting period",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r439"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureInventoriesNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of inventories",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r109",
      "r110",
      "r111"
     ]
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnbilledReceivablesCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unbilled receivables",
        "label": "Unbilled Receivables, Current",
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total operating expenses",
        "label": "Operating Expenses",
        "totalLabel": "Total Operating expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsAndNontradeReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsAndNontradeReceivableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, net",
        "label": "Accounts and Nontrade Receivable [Text Block]",
        "documentation": "The entire disclosure for accounts receivable, contract receivable, receivable held-for-sale, and nontrade receivable."
       }
      }
     },
     "auth_ref": [
      "r285",
      "r300"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualWarrantiesIssued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrualWarrantiesIssued",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Warranties issued during the period",
        "label": "Standard Product Warranty Accrual, Increase for Warranties Issued",
        "negatedLabel": "Warranties issued during the period",
        "documentation": "Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties."
       }
      }
     },
     "auth_ref": [
      "r908"
     ]
    },
    "us-gaap_GainLossOnInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnInvestments",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureEquityMethodInvestmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loss from unconsolidated subsidiary",
        "label": "Gain (Loss) on Investments",
        "totalLabel": "Gain (Loss) on Investments, Total",
        "documentation": "Amount of realized and unrealized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r844"
     ]
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharePrice",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise price per share",
        "label": "Share Price",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrual",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Balance at end of period",
        "terseLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "label": "Standard Product Warranty Accrual",
        "periodEndLabel": "Balance at end 's period",
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r906",
      "r910"
     ]
    },
    "us-gaap_MoneyMarketFundsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Carrying value of money market fund",
        "label": "Money Market Funds, at Carrying Value",
        "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpenseMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Selling and marketing [Member]",
        "label": "Selling and Marketing Expense [Member]",
        "documentation": "Primary financial statement caption encompassing selling and marketing expense."
       }
      }
     },
     "auth_ref": [
      "r116"
     ]
    },
    "srt_CounterpartyNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CounterpartyNameAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]",
        "terseLabel": "Counterparty Name"
       }
      }
     },
     "auth_ref": [
      "r232",
      "r233",
      "r357",
      "r383",
      "r531",
      "r723",
      "r725"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrualPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Settlements made during the period",
        "terseLabel": "Settlements made during the period",
        "label": "Standard Product Warranty Accrual, Decrease for Payments",
        "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties."
       }
      }
     },
     "auth_ref": [
      "r907"
     ]
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r137"
     ]
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfStockByClassTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Stock by Class [Table]",
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r65",
      "r66",
      "r67",
      "r68",
      "r69",
      "r70",
      "r141",
      "r142",
      "r143",
      "r201",
      "r202",
      "r203",
      "r265",
      "r381",
      "r382",
      "r383",
      "r385",
      "r388",
      "r393",
      "r395",
      "r599",
      "r600",
      "r601",
      "r602",
      "r740",
      "r845",
      "r869"
     ]
    },
    "us-gaap_ProvisionForOtherCreditLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForOtherCreditLosses",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision For Credit Losses",
        "label": "Provision for Other Credit Losses",
        "documentation": "Amount of expense related to credit loss from transactions other than loan and lease transactions."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r157"
     ]
    },
    "us-gaap_ClassOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r201",
      "r202",
      "r203",
      "r265",
      "r381",
      "r382",
      "r383",
      "r385",
      "r388",
      "r393",
      "r395",
      "r599",
      "r600",
      "r601",
      "r602",
      "r740",
      "r845",
      "r869"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent accounting pronouncements adopted",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StandardProductWarrantyDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyDescription",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard Product Warranty Description",
        "terseLabel": "Warranty description",
        "documentation": "Describes the nature of the product warranty, including the approximate term of the product warranty, how the product warranty arose, and the events or circumstances that would require the warrantor to perform under the product warranty."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r63"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrualPreexistingIncreaseDecrease",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changes in liability for pre-existing warranties",
        "label": "Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties."
       }
      }
     },
     "auth_ref": [
      "r909"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyPolicy",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Warranty",
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability."
       }
      }
     },
     "auth_ref": [
      "r905"
     ]
    },
    "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockConsiderationReceivedOnTransaction",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase cost of shares",
        "label": "Sale of Stock, Consideration Received on Transaction",
        "documentation": "Cash received on stock transaction after deduction of issuance costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r461",
      "r466",
      "r470",
      "r471",
      "r474",
      "r478",
      "r479",
      "r480",
      "r604"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactions1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Related Party Transactions",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r525",
      "r526",
      "r527",
      "r529",
      "r532",
      "r605",
      "r606",
      "r607",
      "r661",
      "r662",
      "r663",
      "r682",
      "r684"
     ]
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Deferred Revenue",
        "terseLabel": "Deferred revenue",
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r715"
     ]
    },
    "us-gaap_AccountsAndOtherReceivablesNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsAndOtherReceivablesNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails": {
       "parentTag": "us-gaap_ReceivablesNetCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Receivables Collected",
        "terseLabel": "Other receivables",
        "label": "Accounts and Other Receivables, Net, Current",
        "documentation": "Amount, after allowance, receivable from customers, clients, or other third-parties, and receivables classified as other due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "terseLabel": "Revenue allocated to remaining performance obligations, percentage of revenue expected to be recognized",
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r851"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Interest and Penalties Accrued",
        "totalLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return."
       }
      }
     },
     "auth_ref": [
      "r467"
     ]
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r659",
      "r660",
      "r663"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]",
        "terseLabel": "Schedule of prepaid and other current assets",
        "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockNameOfTransactionDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Domain]",
        "terseLabel": "Sale of Stock",
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockPricePerShare",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock, Price Per Share",
        "terseLabel": "Sale of stock, price per share",
        "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "us-gaap_SoftwareDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SoftwareDevelopmentMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized Software [Member]",
        "label": "Software Development [Member]",
        "documentation": "Internally developed software for sale, licensing or long-term internal use."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r811"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Computation of Basic and Diluted Income (Loss) Per Share",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r878"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Potential common shares excluded from diluted net loss per share",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r260"
     ]
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Condensed Consolidated Statement of Stockholders' Equity",
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets",
        "totalLabel": "Other Assets, Noncurrent, Total",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r199"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Note 11. Net loss per share",
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Net loss per share"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Tax Expense (Benefit)",
        "totalLabel": "Deferred Income Tax Expense (Benefit), Total",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r148",
      "r183",
      "r476",
      "r477",
      "r872"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term borrowings or other material obligations",
        "label": "Other Long-Term Debt",
        "totalLabel": "Other Long-term Debt, Total",
        "documentation": "Amount of long-term debt classified as other."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r155",
      "r934"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r816"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Loss before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "terseLabel": "Pre-tax income (loss) from company's operations",
        "totalLabel": "Loss before income taxes",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r113",
      "r159",
      "r267",
      "r274",
      "r278",
      "r280",
      "r559",
      "r573",
      "r731"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs",
        "negatedTerseLabel": "Stock issuance costs",
        "terseLabel": "Stock issuance costs",
        "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r143"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "verboseLabel": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureReductionInForceSummaryOfSeveranceAndTerminationrelatedCostsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of revenue [Member]",
        "label": "Cost of Sales [Member]",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Research and Development Expense, Total",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development",
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r460",
      "r932"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "terseLabel": "Cash",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionScheduleOfPreliminaryAllocationOfThePurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets",
        "terseLabel": "Prepaids and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidAndOtherCurrentAssetsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Prepaid Expenses and Other Current Assets",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid and other current assets",
        "totalLabel": "Total",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r862"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and contingencies (Note 15)",
        "label": "Commitments and Contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r96",
      "r563",
      "r633"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of credit risk",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r175"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share",
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Domain]",
        "terseLabel": "Related Party",
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r412",
      "r528",
      "r529",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r652",
      "r654",
      "r685"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Policy Text Block]",
        "terseLabel": "Stock-based compensation",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r414",
      "r422",
      "r441",
      "r442",
      "r443",
      "r444",
      "r447",
      "r455",
      "r456",
      "r457",
      "r458"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]",
        "terseLabel": "Statement of operations"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service"
       }
      }
     },
     "auth_ref": [
      "r281",
      "r540",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r717",
      "r741",
      "r754",
      "r855",
      "r902",
      "r903",
      "r914",
      "r936"
     ]
    },
    "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]",
        "documentation": "Schedule, table or text reflecting arrangements that are not equity-based payments, or pension and other postretirement benefits, with individual employees. The arrangements (for example, profit sharing, deferred bonuses or certain split-dollar life insurance arrangements) are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain amounts at designated future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period and the carrying amount as of the balance sheet date of the related liability."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r145"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement"
       }
      }
     },
     "auth_ref": [
      "r334",
      "r335",
      "r336",
      "r337",
      "r411",
      "r413",
      "r444",
      "r445",
      "r446",
      "r534",
      "r535",
      "r585",
      "r624",
      "r625",
      "r686",
      "r688",
      "r690",
      "r691",
      "r693",
      "r713",
      "r714",
      "r732",
      "r740",
      "r750",
      "r755",
      "r758",
      "r897",
      "r913",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931"
     ]
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCostAndReserveAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring Type [Axis]",
        "documentation": "Information by type of restructuring cost."
       }
      }
     },
     "auth_ref": [
      "r325",
      "r326",
      "r329",
      "r330"
     ]
    },
    "us-gaap_OtherCurrentLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherCurrentLiabilitiesMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Current Liabilities [Member]",
        "terseLabel": "Accrued Expenses and Other Current Liabilities [Member]",
        "documentation": "Primary financial statement caption encompassing other current liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service"
       }
      }
     },
     "auth_ref": [
      "r281",
      "r540",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r717",
      "r741",
      "r754",
      "r855",
      "r902",
      "r903",
      "r914",
      "r936"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property and equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfStockIssuanceCosts",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock issuance costs",
        "label": "Payments of Stock Issuance Costs",
        "negatedLabel": "Stock offering costs paid",
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum [Member]",
        "verboseLabel": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r334",
      "r335",
      "r336",
      "r337",
      "r413",
      "r535",
      "r585",
      "r624",
      "r625",
      "r686",
      "r688",
      "r690",
      "r691",
      "r693",
      "r713",
      "r714",
      "r732",
      "r740",
      "r750",
      "r755",
      "r913",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Change in deferred tax assets valuation allowance, percentage",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r915",
      "r916"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement",
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r334",
      "r335",
      "r336",
      "r337",
      "r411",
      "r413",
      "r444",
      "r445",
      "r446",
      "r534",
      "r535",
      "r585",
      "r624",
      "r625",
      "r686",
      "r688",
      "r690",
      "r691",
      "r693",
      "r713",
      "r714",
      "r732",
      "r740",
      "r750",
      "r755",
      "r758",
      "r897",
      "r913",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931"
     ]
    },
    "ftci_OtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "OtherMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other member.",
        "label": "Other [Member]",
        "verboseLabel": "Other [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Issuance of common stock, value",
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Sale of shares",
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r102",
      "r103",
      "r143",
      "r608",
      "r678",
      "r696",
      "r765"
     ]
    },
    "us-gaap_PaymentsToAcquireOtherInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireOtherInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Equity method investment in Alpha Steel",
        "label": "Payments to Acquire Other Investments",
        "terseLabel": "Investment in Alpha Steel",
        "documentation": "Amount of cash outflow to acquire investments classified as other."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureIntangibleAssetsNetAndGoodwillSummaryOfIntangibleAssetsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r334",
      "r335",
      "r336",
      "r337",
      "r413",
      "r535",
      "r585",
      "r624",
      "r625",
      "r686",
      "r688",
      "r690",
      "r691",
      "r693",
      "r713",
      "r714",
      "r732",
      "r740",
      "r750",
      "r755",
      "r913",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherNoncurrentLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncurrentLiabilitiesMember",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Noncurrent Liabilities [Member]",
        "terseLabel": "Other Noncurrent Liabilities [Member]",
        "documentation": "Primary financial statement caption encompassing other noncurrent liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Restricted Cash",
        "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r152"
     ]
    },
    "srt_RestatementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RestatementAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revision of Prior Period [Axis]"
       }
      }
     },
     "auth_ref": [
      "r189",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r263",
      "r302",
      "r303",
      "r473",
      "r496",
      "r497",
      "r498",
      "r499",
      "r513",
      "r523",
      "r524",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r597"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationStockCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Unrecognized Tax Benefits, Ending Balance",
        "periodStartLabel": "Unrecognized Tax Benefits, Beginning Balance",
        "label": "Unrecognized Tax Benefits",
        "terseLabel": "Unrecognized tax benefits",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r468"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross",
        "terseLabel": "Shares issued during the period for vested restricted stock awards",
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r102",
      "r103",
      "r143"
     ]
    },
    "srt_RestatementDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RestatementDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revision of Prior Period [Domain]"
       }
      }
     },
     "auth_ref": [
      "r189",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r263",
      "r302",
      "r303",
      "r473",
      "r496",
      "r497",
      "r498",
      "r499",
      "r513",
      "r523",
      "r524",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r597"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Acquisitions",
        "terseLabel": "Shares issued for HX Tracker acquisition, Amount",
        "documentation": "Value of stock issued pursuant to acquisitions during the period."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r31",
      "r143"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock upon exercise of stock options",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r31",
      "r143"
     ]
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest expense, net",
        "negatedLabel": "Interest expense",
        "totalLabel": "Interest Income (Expense), Net, Total",
        "label": "Interest Income (Expense), Net",
        "documentation": "The net amount of operating interest income (expense)."
       }
      }
     },
     "auth_ref": [
      "r161"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period",
        "terseLabel": "Shares of Common stock purchased",
        "documentation": "Number of shares issued under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureNetLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "verboseLabel": "Net loss",
        "totalLabel": "Net loss",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r129",
      "r160",
      "r190",
      "r211",
      "r214",
      "r218",
      "r228",
      "r238",
      "r240",
      "r241",
      "r243",
      "r244",
      "r248",
      "r249",
      "r256",
      "r267",
      "r274",
      "r278",
      "r280",
      "r298",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r499",
      "r501",
      "r574",
      "r655",
      "r676",
      "r677",
      "r731",
      "r764",
      "r911"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfCompanySTotalRevenueByGeographicAreaDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r235",
      "r236",
      "r237",
      "r264",
      "r540",
      "r598",
      "r620",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r634",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r643",
      "r644",
      "r645",
      "r646",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r654",
      "r657",
      "r658",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r678",
      "r759"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Common Stock, Shares, Issued, Total",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued",
        "verboseLabel": "Common stock issued for notes purchased",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "srt_ScheduleOfCondensedFinancialStatementsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScheduleOfCondensedFinancialStatementsTableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Statements [Table Text Block]",
        "terseLabel": "Revision of previously issued financial statements"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders' equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share repurchase and retirement",
        "negatedLabel": "Repurchase and retirement of common stock",
        "label": "Stock Repurchased and Retired During Period, Value",
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r102",
      "r103",
      "r143"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAtmProgramAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, New Issues",
        "verboseLabel": "Issuance of common stock (in shares)",
        "terseLabel": "Sale of shares, shares",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r102",
      "r103",
      "r143",
      "r599",
      "r678",
      "r696"
     ]
    },
    "us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsAndJointVenturesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments and Joint Ventures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "us-gaap_StockholdersEquityNoteAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Note [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock par value of $0.0001 per share, 850,000,000 shares authorized; 124,954,451 and 105,032,588 shares issued and outstanding as of September 30, 2023 and December 31, 2022",
        "verboseLabel": "Common stock, value, issued",
        "periodEndLabel": "Common Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Common Stock, Value, Issued, Beginning Balance",
        "totalLabel": "Common Stock, Value, Issued, Total",
        "label": "Common Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r566",
      "r753"
     ]
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Text Block]",
        "terseLabel": "Common Stock",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r140",
      "r227",
      "r380",
      "r382",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r394",
      "r396",
      "r495",
      "r681",
      "r683",
      "r700"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets",
        "totalLabel": "Total assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r200",
      "r228",
      "r267",
      "r275",
      "r279",
      "r298",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r485",
      "r487",
      "r501",
      "r561",
      "r647",
      "r753",
      "r766",
      "r911",
      "r912",
      "r924"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r634"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance",
        "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r103",
      "r634",
      "r653",
      "r940",
      "r941"
     ]
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      },
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total other current liabilities",
        "terseLabel": "Other current liabilities",
        "label": "Other Liabilities, Current",
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r753"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized tax benefits impact effective income tax rate",
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate."
       }
      }
     },
     "auth_ref": [
      "r469"
     ]
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "us-gaap_StockholdersEquityReverseStockSplit": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityReverseStockSplit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock split",
        "label": "Stockholders' Equity, Reverse Stock Split",
        "documentation": "Description of the reverse stock split arrangement. Also provide the retroactive effect given by the reverse split that occurs after the balance sheet date but before the release of financial statements."
       }
      }
     },
     "auth_ref": [
      "r144"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAcquisitionAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Shares of common stock issuable upon vesting of restricted stock awards",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "terseLabel": "Shares issued during the period for vested restricted stock awards, shares",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r143"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Liabilities, Noncurrent, Total",
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other non-current liabilities",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_OtherGeneralExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherGeneralExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other General Expense",
        "terseLabel": "Working capital and operating expenses",
        "documentation": "Amount of general expenses not normally included in Other Operating Costs and Expenses."
       }
      }
     },
     "auth_ref": [
      "r121"
     ]
    },
    "us-gaap_AccountsReceivableNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, after Allowance for Credit Loss [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Domain]",
        "terseLabel": "Class of Stock",
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r201",
      "r202",
      "r203",
      "r228",
      "r254",
      "r255",
      "r257",
      "r259",
      "r265",
      "r266",
      "r298",
      "r344",
      "r346",
      "r347",
      "r348",
      "r351",
      "r352",
      "r381",
      "r382",
      "r385",
      "r388",
      "r395",
      "r501",
      "r599",
      "r600",
      "r601",
      "r602",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r620",
      "r634",
      "r656",
      "r678",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r845",
      "r869",
      "r877"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSalesOfEquityMethodInvestmentsSummarizedFinancialInformationForEquityMethodInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest, Total",
        "label": "Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Loss from operations",
        "documentation": "Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r228",
      "r238",
      "r267",
      "r274",
      "r278",
      "r280",
      "r298",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r499",
      "r501",
      "r573",
      "r731",
      "r911"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Acquisitions",
        "terseLabel": "Shares issued for HX Tracker acquisition, Shares",
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r103",
      "r143"
     ]
    },
    "us-gaap_CommonStockDividendsPerShareCashPaid": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockDividendsPerShareCashPaid",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding common stock",
        "label": "Common Stock, Dividends, Per Share, Cash Paid",
        "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccountsReceivableNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "terseLabel": "Schedule of accounts receivable, net",
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables."
       }
      }
     },
     "auth_ref": [
      "r32"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "terseLabel": "Issuance of common stock upon exercise of stock options, shares",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r102",
      "r103",
      "r143",
      "r428"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r49",
      "r88",
      "r89",
      "r284",
      "r702"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders equity",
        "label": "Equity, Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Total stockholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r106",
      "r107",
      "r132",
      "r636",
      "r653",
      "r679",
      "r680",
      "r753",
      "r766",
      "r871",
      "r882",
      "r919",
      "r940"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury stock, at cost; 10,762,566 shares as of September 30, 2023 and December 31, 2022",
        "periodEndLabel": "Treasury Stock, Value, Ending Balance",
        "periodStartLabel": "Treasury Stock, Value, Beginning Balance",
        "totalLabel": "Treasury Stock, Value, Total",
        "label": "Treasury Stock, Value",
        "verboseLabel": "Treasury stock, value",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r71",
      "r72"
     ]
    },
    "ftci_AccruedCostOfRevenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ftcsolar.com/20230930",
     "localname": "AccruedCostOfRevenues",
     "crdr": "credit",
     "calculation": {
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued cost of revenues",
        "documentation": "Accrued cost of revenues",
        "terseLabel": "Accrued cost of revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockbasedCompensationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20230930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Share repurchased and retired (Shares)",
        "terseLabel": "Share repurchase and retirement (shares)",
        "negatedLabel": "Repurchase and retirement of common stock (shares)",
        "label": "Stock Repurchased and Retired During Period, Shares",
        "documentation": "Number of shares that have been repurchased and retired during the period."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r102",
      "r103",
      "r143"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Benchmark",
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r49",
      "r88",
      "r89",
      "r284",
      "r702"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureCommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r332",
      "r333",
      "r703",
      "r898"
     ]
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockSharesAcquired",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Shares, Acquired",
        "terseLabel": "Treasury stock, shares, acquired",
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r103",
      "r143"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsInvestment": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsInvestment",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investment tax credit, percentage",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Investment, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to investment tax credit."
       }
      }
     },
     "auth_ref": [
      "r915",
      "r916"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.ftcsolar.com/20230930/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r49",
      "r88",
      "r89",
      "r284",
      "r596",
      "r702"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "SubTopic": "405",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21D",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21D"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b),(d)",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "330",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(CFRR 211.02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481142/505-10-45-2"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-10"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-4"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "710",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-11"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "37",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "30",
   "Section": "25",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482804/825-20-50-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205/tableOfContent"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(c),9(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350/tableOfContent"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SAB Topic 4.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-4"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-1"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r158": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(13)(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r160": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r163": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15"
  },
  "r164": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r166": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481440/840-10-50-2"
  },
  "r167": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Subparagraph": "(Note 3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481418/840-10-55-40"
  },
  "r168": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481501/840-20-50-1"
  },
  "r169": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481501/840-20-50-2"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "323",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//323/tableOfContent"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-12"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//310/tableOfContent"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481664/323-10-45-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//326/tableOfContent"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350-20/tableOfContent"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "808",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//850/tableOfContent"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-6"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483256/920-350-50-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483256/920-350-50-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483256/920-350-50-4"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-3"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-2"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-5"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-6"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "323",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481543/323-740-50-2"
  },
  "r847": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r848": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r849": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r851": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r853": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r855": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "SubTopic": "10",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r860": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r863": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(b)(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r867": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(b)(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r868": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r869": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r870": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r871": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r872": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r873": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r874": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r875": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55"
  },
  "r878": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r879": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r880": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r881": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r882": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r883": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r884": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482933/330-10-35-2"
  },
  "r885": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r886": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r887": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r888": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r889": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r890": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r891": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r892": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r893": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r894": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r895": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A"
  },
  "r896": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r897": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r898": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r899": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1"
  },
  "r900": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r901": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r902": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r903": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r904": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r905": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r906": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r907": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r908": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r909": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r910": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "15",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480123/805-50-15-3"
  },
  "r918": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r919": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r925": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r928": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r933": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r934": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r938": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r939": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r940": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r941": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r942": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r943": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r944": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r945": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  }
 }
}



ZIP
94
0000950170-23-060722-xbrl.zip
IDEA: XBRL DOCUMENT

begin 644 0000950170-23-060722-xbrl.zip
M4$L#!!0    ( /!):%?%&B8>#Y0" .!6-  1    9G1C:2TR,#(S,#DS,"YH
M=&WLO7MWVT:6+_K_? H0L1;9[=,>QW)9R>OK^XU5/"1V*
M4 .D;_;.T>[NWO;_V?7W_^7P@5+U[MORG>Q(_%KI^4'^*+LO&C
MJIG6L7AR^/M/Q?YX5(YC\=^_O7M=O*C\]#2.)P4J3B:3LV=/GW[\^'$GI'+<
M5*/I!%[5[/CJ]&F!T.S9>W6T^>OBA9W$XAG%E"%"$%9'%#^C^AD7.XQ2]?]@
M_ SCS[^JSL[K\OAD4CSQ/Q7Y1_#F\3B.1N?%JW)LQ[ZTH^)P\_O?OKP_]23RUZ/K40[Q&_2;ZG>/J
MPU.X\#3+P^+&:8..K3V[N#G9QK4OF%^X8-;U)""A^&C]-XK@IW2BBV!*G58@&T:R2\^E.:I0)V-Q"7W@>19@A1A:_
M3!-_E;[P!:BBK5LUS$/$AEV\QU?3\:0^OWE.\XM7*?9I@N#ZE3]48
MF#A!1\"%K<+//OVR-0'>/IT9CJ?YL4_GS_W95>&\:";GH_C+UJFMC\OQL\).
M)]7_*D_/JAI$??+\S(9LBY\5^NS3\ZWVM:'\L/A1*)NSD3W/JA?AZL_EIV?Y
MV;&>_5F&$,?MGY]ULRA!6%^]]Y@2Z;1 RFF-N. *68$3$DZ32!WWG*2M8FQ/
M\UMB^6QO6MWH[]'6+\6H*(519QKR0R
MP2D45&!,<>\P4UN_(D0H\/WGIU>&=O-(GWV]DR8Z:>*?!!1A)Y"D@8[U$W&F&3*(&41X8MU+C).SE
MP;T<@Y"?[\'H:CO:'X?XZ;_B^?T&B<&":ZJ)_!JS7]76MZY_-M1D0:%E#$@E
M&Q"73".-M4'1$ZN= #);MACJW'@_VZM.3\M))F:S.PY9"4%C ,64\0N>VT")
MUR$B0WU$/*F('$\<2Q6(RW@NEHY4/F K1GF'J!8H*])8K"9,2
M4J-@E.&1*JL$N?=4KLI/\I@YH ]RGC%000M_X0AVEW#%'%@0ZM1B)MG5/'M;
M5V'J)W^S-5CKR?GK,GUA*+Q(7EMF40)E0=P$BK33'B4=M,%$RL2 T3-#_\O6
MW,,\"]/Z'(S/UJ_T3H)/E"*<1X%<5"!-D0;D9%"(>4$4#5P[JZ\,_'#J&E^7
M9YD6[^('\,0Q,R%3YRC6IU\PX8&SN)L%3"990VE"V4W#++1#.DB';,0*E%!K
M;\1U03HX:Q'$^/AU!/#WNK2N'&6=GIGQPPF8[BQE!^D"*+^MFC)/^^4%$'E=
M-I-[*="OWX)9_WHP.8GU8D0@V/,QW8VA4EF1HD="& %"#SIE"=6(1L>(E@Q\
MF'TL4MQ) ;LAQ=.KWKR.*<)]/C:__IP!^[.FQ</&X)AYG;LX^!GC9I[-1Z9I9FH-=P(0+0W50'T(@6/JX
M^ZELMGY=2,[\ZNRG/S^]\8F_+H9R\>*G-\WRK,4A%X.8U]68;K& XGE?^S>R[.PM')G#'R
M$F,65^[#&$:LS< !>2; V0)0 U62 6$>)+52!.],7QD#"@-3G9R_'<'L S4*S;(Y9#KBT)V3D^7;]W(XULWQX6WB@'8UIHCC@-&6KBL4Q"C..4%U7$=6&0_;2R+
M?,(^"$-1$AR0)*<1(F:#D4M&]GFFJ-[ 9'*""QO.(K^9%R-JN/S689[72PJ@(U &)< B5ERP+WZLUY.Y:0Q;IKH=K3>(IAF PAAGP!L P2 DQ6#E(O@##9@-2<>4XMK8D'H'W_K+&-H=8[A3
MPA-ED+=1(6XYX#7OP>1%FZ+DAH$F]98Q4]>4H;3U^:$=Q8/4$G[&E#;WNSLY
MA?CUN+9+P-M7N 'VB_ NN!& 2#1G"9))H"8.GNU81E%1>QZP=A*3WG+C;FJ2
M%T2J\:,D<+K" 8;H8!5X%14)0UQAC[0V'C'+-<2?/HK0.QS0HUSH"D)1R8@,
M"O T#5J 53,<&G86T.Q;RD BU NRB(P"^.> ))P'C:9VP"Q[ >%1K
MSL)=[Z>GTQ'<&]J5OGQ?'4_RTS[$_;&O3I>@G=>A1C>ADDF,$:\TN,D4$$]<
M(FLL('(&_LVEE)BF:\JM%OP=U=$V4X"&6=_(NL1)'M0FIX,0YMPB"(S (/I<
M/$-T$I@DEDAO ]B9_%_PYG7EVXJ^Z[F@)MK:G^R"H9EE&UH^?CJ#ISV"9UL%
M%LF%3DP!<*22(AYR@@_K@*3"VB<3-$Z]2XM_KUD,H2VOL*.WM@S[XSU[5D[L
M:/E>[J[LI%>#@0>M+K/OPA-"F:OG
M/\3#Z*=U6Z/R\I,?34,,K^KJ-'-X.FGU]B M\K5O8WUX8NOXV_G-#_A"PR=U
MZ2=+2X3T *TZS:B2'(,0T CQA)+W+9?9CF7,E,
MH7^/DY,*%/8#\.RSFE_^-L8W]C1>3JJ,SD[L(7R_;/5>#6=9\)I& Y$CD1A,
M-@<'K+E!P3I,&!7,6MLWSO9N.:8'?.2Y<$-$BHSS&N"ME,B( $Z8.&VEU<[[
MWL:3>W4$?_K*^K:L\3KS/E2C#\"VJS>MRP*-S6Z2*84HE@YQY3.#5$)":$%H
MB"*E=5_M7!D86D'(3R1C46L+NF4 V]KHD68$8!&U%+R@,-&N=[BR5S63@Y27
M%Y9M)E?#0*$#B9YA)%( MNGDD%8D(HC^N;4R9P%ZF2A=25E5&T50<>> X_.M
M#V&1%D(DG3PB"@O$C !@:F4"0D:: 4R %<08X[2D'1DRP\EU@/2)9B#YQR(
MA/,RG% !66((DHI(Q46PO'_UA7U>(N!W%W;9U1X%XP435*&D: !AAPA:YX55
M3X"U201A66_Q0F^BJ^5DGG-EF^:.@7,1(E=L>N24S\5NS$>!L=.XMZSI?>9Y
M1>#.Q4"" W2>"^=Y+O!Q!I1/8!.ISLMQJK?5)(^2JGQY>C:JSF-L#>Y!NT=T
M(Y,AAGMA,<1EHH60VBO &%XBH0EUD45A:6^C[N_:@=1N"#VI1F'_]*RN/K36
M8&V*5YG7!$MBD7=@AKF$B-HF^)BP4,8Z1X19]_7SQRK^ZG"=7&.ODP(VJ*0,
MXLHF9 B =$&LE( _?>"]323V@2L/6('M:LF.!JH2DQ1!'-UVRU#(*A&1A+\@
MBI98QMZ9O\=,%4$J0Q8XCF"A/L58QXW4N^5U(.=%VA
M[AK&L>[".*6LLCKFET<"P!*"$$L@8/!!!ZN-P')ML_B/73O4H:?"(0B>D@'7
MI#V8.:Z1DR9W%:%<2*Y34+V+X+I:E#X?VZXV;+Z+K4*_!4TZ/\J]R6:-=)K?
MSB]?N1Y;?KZRD:&D%YPKKQP$D"DO[[0;$XA&C %.Y5P8YWO7#N2[L@-_B>-8
MVQ$$&+OAM!R7S22WF/D0-[DRC4IPSU91<,FAW?MC$#AL^&@EMIB*7(O8-Z8.
M!N,>!N,[RN0ZZT9#N>8>(#S [03_ 1QH5))@/P1F.%EG[;H'LZLN!N^P18WW
M+D"4!%@=Y^2OTP:Y9.$CI80+ES3MWWZ9W@*ZSE+RTO.03$R(<&(0QY(A"%@)
MBDIK%[%3CJW[@M>J=8AVV"W FDQ'B<[VVKQKZ5)R^IF:;DED(X JH5@4-)"^14$B@9
M*T %M0*P-7!HE85$5 NL5+2@O7DG/P8P[&R,R!+GL()(,^'>U:NN6=3286\3
M9H32+A@DE'&(Y_;_-H'MR^5@5&AO UM7;CTVXNMP[90*&8,")D.8E/(V<(4,
M%08%&H5BQ)(0T\"5N^+PKGQ/Q)93%@**>=]2CN>1PZ P>7D-0![6//06'72_
MI^SN G%2U>UA"R^BF]Q4LS69Q/H@S5Z^BJ3\[(2+D?_-UGYDSYO?['C9C?4P
M[T@F)94A^,@0T18B=J5P[A@& :(A$4)W9; 8

[,"@VD%YM3NX1-/U?3 N#31!E6.N8?^I%7 6?+;FV">D';R> M)T>0838@$G-I! 3Z(?:V_U3/.JJLAH':Z]0>]&:-)?D4W8!,FUIWCH64(1GK M77_ OC0+7TTYDDQ1TQRJV\A%+K/3R#KLD U!4P- 2]#U5KG#.!J!+\U%%;;^ M,^:34S=YV[N)^? ^C5$RP@!4 M!TXVGX(9(305@2+AI0U.0(Q#>U<>N9K===9Q9P('*\1R(:G4''"="TC92(-S MN=E-[_*^/3J\8 4^GVE@3+(*!9&+4ICA(.40JD>M(V,Z4,=ZZT%ZWE^ARR(] M$8$1G"$A(&;F!$"9C@:CR#R6ABB*>6^YU.<,V9(6VXD-46J->,BER"JWL='* M("R2T-$+W>-3DWN3E%].#9X6-,@ 'LF"V4.B1E1B6',Y-)+0K[;-G76=41[AB'$0U'A!&Y# AD$1/3!*,,C55:) MI?<\6QG"8=SYO%$':18 AQ+/D,;PD>$8A>0$['5O$4Z_#?.*-LH90F2$^"\( M%G(&$2/K0;85"T003$#0>]? ;Y:D;YK8-/D7GV.(:Q_P](TYI'G4^;P TB%N>FY>(7(1)2<0^;_A9UVKJ M%9RJVME9W8HIG3QP)6'@BO394QL"ODLP$7G,N=J^<>6FKFSE>*VZLGF<5-N& M+:]10>@&+H5*BSR#@%HZ8[U>;XCPJ"/# M*DT^VCI>ZKV]+HEC[47"&IR4XKFQGLIR(X*H5[8\P]+.13E*O#(KJL+3N7: M1>X-1\[E(GO))7)!$62(2=H;+!CIW:KF6ABZ#L&A< H+%_.A'"HBSG,!O2'P MD4AKDQ V]N\TJ T^VW0UY3-4N;QWT"!-P4R# 66Y#3U&WC)JN/<\]K<<:@.% M8%4%QDZ8Y"R2+O=[%8"E7.X+19S5QE( K&+==Y,\,N3I#(U&J:Q7++>8:\N# M\H$$QG$4@_"!!"8\Z^UJW7JTXEW!%D2:#..10U0?$D6<:8NLLR RD4KX%-PC M- ]*$"4Q[UT0V%&D\2K6XX_Q MY.7XV!['< !4LY.JK2VRX_-'"$$,(JP+%F)!@\A])[W/BP%:861EI"@$230G M/.#^]5/M2V'E:I*=*?$HO-$H4!/RD8^Y'V4^G-UBI;RG%!C7-XY]IUE\6\<4 MZWII8'(YUE!8;0EQ&C&:2_2 ?,@EH5"T3D9/,//];<,VM,+I42N<+L^6UUQ8 MA2T*F$#@R@7(I,C&(E"B$X2P$?=V\7T# ]?5> P5J?(.;)+U>7V3&H\<\0%) M3)RC,>DDE@[3EAOB=]4MPWBJ18P<4>8!T.:6&=9[B?*Y'RE%S5A_%Q*_KZMP M]"?C:E0=GS]./^X.39H+&D-LSU&0^037?&BR%5XA"DPBQC"%?>]B_<>LD;AN M^/H9(BS1-(M7,L64.,ZU]3^#5H ;$<.VZX-3[WUB56 MV6PDP#X$IU!0@3'%O<-LZ=!T/<2:<:"0BP2!-B-L -S#DD*4]""VS(VEO1U:OJ:LIL MDHM8,^Z08C$@KJW-55<2XOO($E;)<]Y;5>WETD976%T&)4. P(HQ##J'$P&> M4(%BU$IB3XR7O:U_NI,-?1>;:&M_ D;T4HWB)IO19*G#G'CD6'L\5^[UI:1! MAF!K:#)*Z-[U'EI-"^6DDXH\6*02Q&"<$(6,!^$WCB4XUL=+R/HM MIS#>!\\I80#2;>987H(QPCIDN],#BM7L%3::OLS3)S%\+C%Z5QZ?++DE M:I<]6+!DBE(/BI K"0(%J.&L14+[R*PAT?:OU7"?G=HJ%EHQL5C1A+S)2P0I M H)W\(+ I&4N2)]([_:EK,'.H2Z+^'1*G!"!DM*Y4L_ RC(#'T73Y MQ1_+YM"*^PYWV*=>.2F$DA;A( /BV%& ^ (CQ80Q/GJ>Z'!ZP)UUJ*OHBT*8 MY56D*%*56PXK@UR F)@J+13-Q.Q?DFPMBI4[W)@LB3:. J;$'. D)UX@PT- MF!DJ0A#6]>]0JCZ>@+J*JKN8F!(IY=VL8/0H!,7&$X*LLA$G;:DCOCZV&\E3;YPT0H"A]'F;LM[.C].O:*3JIBW!D6%*(N M DL3 R29RX& RQ"[)45H?XMC>W40Z.($T&7#G\X._J3@2!WS68,-XH8PI T) MH,N2>>NP4&;IR>=[J,@*RJJT3%YY[)#7&;Y;&Y"US*!@(ZB'LA!KK7UQZVH: M:72VO)6/,S8D(POE>UH9WEFF0@@(I#0#KH@( M_^$YEY1/M(J!" MPF:6SQF *-IJ+U#0D:GHVK.4^LK4[TI2K=T^>J(M#CQ%%&*N=4IMEVV>4)#8 M)D:DY6'I^RA6ECO5T6B%=4(RYE.!C&AW&F@D&" MG<#LA-ZUO>KOH21=[<)3 M7%OA* 0JRN5=>(P"#)8*D41,C#11G=:]GFC5JT*=;N#.T4HPR B(:KFP$CGX M"AD5B2=MB88@:D+>$&(),B87 D5E69>2-H[DWA[ M)\#YU8W<+F<=\=(8CPAH("B@!\!,\@O E7$9@A>\MZG/_E4K=[B;'$N>.&,< M^ R/Y<)PI$ER*%IF*"$V.KWN)40K2KAUQ2'*@Q),2R2P _"KF$(0B6#$E*6: M&4[(VE<(/6(]>8==&!Q)7"'* 4QPV38Z<1H9ZYF.27@9>EF&N?IM/QU CLL= MA6^%')]O?1#D2-(YH7+%;0"\+ZG*I\\#@N3.\1F3?QZ0*4EYB\6S *B(N=='[I[FIEN9J8G$J*"R3RGB%.HP8-!LXSY2.1$N!N M7/=%Y4==LNPP,:."E4Q&BR3/X0?'N4..D'EQF1-!J6%^[=-HJRE_[P[HO2V54G!@% C";-LW'/6WPE,"O(! [>4040C@C;NU:^_^2)U[GV)( *.9E]5Q B[Q U U>64S[4E2EDS&%&E4 !TWP@ MA\[Y!0UHV01N17!,DZ5W);@W"U>X?VHY@25 #4R"5"CQ7,S%#4/&J8 2PSQH M:RRQZQ[SKVS%?P4X(Y_\9R/'.?^:#X?*!>=.2$1%Z%%.OH. 'V,:$ M"-7+S%E/#FM=!<>DM\G:?$(R XXY>+:)&*)#3PE5,@9!>[O.N;GMU58@""%* M&;GUB/*0TW7@P+6B.)]"X5-B49'E]R"^!Z56L*0,GLM&@RGRPL7<,@."#,,H M4LQ*J:(/?OEUJ/> @OKN4%#?&^!,Q^6,3'^\7RA.?\Z-N>.P9W//%$^=#@S^_\VE--@1?CG!.I?;B=S[QC\,77SRN;"I.B7H& MU[[_:=5H9&<&Z^*Y[=[X>/GV-]/364'6/5_]Q>_SER_BN +DG7T5V9>?GI6Y^;-NKCIQ1C]K2&RT_S?5N% MK7W][9OG=SQ-UD]0JJK)N)K$K6)2O8NI^67KU9NC]TI8DA06N2@67*&Q F(6 MP#(TT"B5E]BIM%4D<"OSW[QWT6BLDLKGPL$OHI7Y!-N<$:?,$&JD;Y,_3Z]- MKA>SI3$%985"EN7:;*ZSSR<8T12#C ('RTQ'LYU]TU33VL=F]O$DVM#:,1"& M7_^E*'X^*YK)>9Y3MB:H'&=;]PP_3V!>4%/^3WQ&\-GD^:FMC\LQFE1GBVO) MGI:C\V='@ Z:XDW\6+RK3NUX<:.K)I/J%.YMGVI'Y?'XV2BFR7,89W-FQXN7 M?CPI)Q'!-SX^.ZLC^EC;L^OO_N;KX%T?RS Y>9;*"6IMXCB_Y'__*Y'X^<]/ M\[M@LF?+GZJ$GUZ:K(=GQ_KZ='TUJNIG_XK;?YY_??(?8U[D>.:J4;@\/'U/ M:OSQ9O_HY8OB\&CWZ.7ASZXNGOYZ^'+OCW?[1_LO#XO=-R^*E_^]]Y^[;_[R MLM@[^/WW_[.SM%!0+;AZ3 MQX3VF,FO#M[]7MS$M.]X]E9K(DB;].>G&)[/WD\P MWL'_OOB!SP#DK(D0T)Q9P AQ(8UU.\WVV5OY_3" >O'V#V53NG($X/39XO?S MF^"N<&%VV]?Q':W)OV>F/YV$K]Q#=CB]Y1;#=J0Q5VZ"/^KK(SN9<:?5H1M& M!'-&KH[VSV?M?U'^XF9>?XCUI/1V-%="4.+G9S8$H.V<,D!$4HYO;:,;"(JBM5_.L4@I58C\[?Q;.J MG@ HJ>I3._EEJX1I0LP$FE:-G!V-JHFK/G6KM+>1Y^N.WR@NG]^NMS<+=/=2 M>">IHRN$6/>G]#6(M2D4O8;D;J+IBH3[KW_LOCMZ^>[UWXMW+]\>O#LJWO[Q M[O"/W3='Q=%! 8CN"&!;05AQ\*X@XDGXJ3AX51S]Y\OB$MB[ 'J[>T?Y,C&, MW\3#;UEP_%@6_%$M]DK#DU[ISD#11T89\K9)/WJD>5\VO*KJ8G(2BW\NH$,Q M2UL6$:@0;@M/;GOK5S"1@."$Q 301F*&>*X[,3ZOIW!%&3%4!4>ZPD1OV^F\ MG.5FKR"B9P&^0:?PEI/\,Q3L.3J/MD9QW _>',:SR6Q)A^'M);'"F>!%[AID MK,Q'9 RU4P$1$A(1 2CA-5=L>)5V8!^_AU(_ J^:?I!Y)S'OPU\WHY)!^^[ MD;YBH&@?O6_',?Z*#,_!N^\U)$,BYL9@[#_^!A/(DVC^8[L!"YV^ZNLB"=(0 M@VP^;Y)3*9%U4J,8A1 F^SKN.\N*YG-8V_+3'N1BOJ30-[,QO$?9F'N)8E?9 MF9M%<DPM#N8@\\TIZ\?[B MGTGU^>\>+7$6\W\>NIRY.1PMKI/D 6,:9V5M5V>1RR.)5.8H%^+(< M42\GFE;*:TE,0,8YBGB.JS67'H7@1,"*$";M0Q'&R[:2+<]E-I5^,!]CDNOR M!;X%.O1@J,47@OH8I0CF+IK[\)7_Z!3-ARXBGDANTIT(8%SXJ"657@6?K)7= M2."[>-Q6ZH\GN3-"/RH 7AWM%8<'KW??;1?[;_9V^B^+LT*991A,O2/N.:8G M+S]9/VGY752I^,SGPC;%X5GTN;(V%.6X*"=-L7?2)HY_VI *"[US:X4%W6'Z MEEN^?,PWXGKST+!^ >I;^LXQ_4:$^N9^-I!&1XW''M'@P ;Z$) .EB,G"?', M)>V)Z\8&YNU--83W;0EGN\MIKYJ.)_7Y7A7BER%_D^\XJZL/^3D=KS+<1JNO M:?N+.+(?;2X'7W;(?PGKMW-ARC<-#\=M]V?JD=4-%51=MHZ7B_YW691-*WV98 ,Y=<5GM;?6Q'9?_ MTW[^:3#W@[GO%]57ID?[.^]V#G>*^>Z[NKAJR(LWU/UKRX[YCOZVDZ9Y"H4$6M- :L9B/^HPX(4-S1VNNF)H!W MRQ(*V@NA.)S">XI]1.7C96/O+027;>C:&R1B\U91KI$Q42/N(LA1PA(1+X-7 M0D1&.LJ^SH5N#_X\J(^JC_U()NQ.FTDY[K_0+NH%12Y( (/2.&0<$2@%D:0DQ 3RX-V75TSRVPIL[NC_*\_:%8 ^6+*K M-FQ(\:VPTJ:SY,1,4V?_?3*7O!S\O:T!!Y1G$ F^_!1]VZVK.$BI]+$94GM] M,*@_CAOKM?X\ 0-=9 O]S13>@RHU5UL@^P6E^(.+I5;RS[HW!.I,8KLHJNP( M4#Q92O!,O.,R)IP#\#A2 M!LN[=2I:=02V*GOWN>KP/YKB*([B66;CO'I[.Z]BCZ89XQ19GUM7OMZ$ZTBX MWE238OSG?)%WBJ_ M790I%]F.CV,H#G.:MWAMFTDQVU:XTMTGR\"I]U[SNFA*7=2MZ8@UT.ML6C?3 M7+D\J0JXHUVX)_2)^RD'RWGWT:Z?/-N,RF6F=A2]K?,;Y3O!:?S^V?$N/C%\^\(C>=/:#GUY2MO")+G M/UATBKQX9W?!% 8 GSSV,P$TR/**49;!?_!HS&F!2 W(H/=C2][V:9%7NZ'U&*#8O) MLQ208/FH I_;^&MGD6>.:Q4DC^G!K>;F_G'F'GLCPJ^.]O:7+:?+==$_HKPZ M(BBC28#8.?A/\@)IG322A&@7<;+"/+BD>6%U7\Y]>KM_^XO:L>SQNR@;ZU"D MCR!B?V.;8/\YL\S%[[;^,TZ*UZ_W[E'@<.OR'MMA#.+@I:PN_2-72J;S[UR( MOKXO_GL:.]WU?(T5S'I52:/]</TSVF9\TV3JG!Q?@,\\R+EQ/)&JUD#H7GB MZ5*^:J&&.1F5+^<&0D6 JQ!RY5N!!CZV 1BA1=NNM"F>P/- 88MF"DB\.:GR M%OQ%_YS)B9VT/[RT<_^CO3K*/,39C^=S^&F[S3\^H;,Y.E![N.[^ 3/(][>W MPH_R*.;/:<]E;0?1#C+G) TN@CUO=FYN ?/@)2/AO Y>&B1<%/D$/H(TDP19 M'KUTBA!J8C?%7'O3NH;IS7*LV;5/[.2A#4L[D]J_QR66S_9JP?K6P7R/_?N4 ML-+/>T4B^.=-U4="R32XBH>XBFQ"P7J>EI,)V-LX BM:5^.,>D?G100$?%[L M9P!I?5NB]\).[*P[U35/\OD9EUW"->3$\M-ZBSC'(C=\6H,GHQ@L-S '^G((^??'TR7_PT!VO7?_Z5J7[QVW(\@Q!YOSQ=!*27H]!'<=KW+1U: MT_H,8F[K&7?;P7ZW%7?<^@#YT ?<-H5;ATCPP\I*;DA,7S:Z1.TP^-W]D]'? MVK5R.;]\6>SF+UWVQI4^%5N]OMDFWF-98?FLV@2^/ BB])\52SU!Y<&A%57" M6($=DI@&Q(F*R*H4$25$&^*Q<8:#R0.6!R@.5 M!RH/5!ZH/%!YH/)]MT!"C)M__LL6W1I6.GN5@GIY M]BPW=7D19\A-]J#Q0>:#R0.6!RC\>E5>SM?HNF/2Q2#%L"-CZ=3]] MH_!^NRAOWB]0IIMVT;5[YV(HQE6[]6W:S(KV8>X1Z!J*?&?35N\O]JGE_6OY M7:/S_/*/);P:7EN,8=A5KB7X4#9ML9K]J- MVH!8YDG5 .:.@-&,F&8#:,!H$JD0Q5@J !**NR_ZIS PLLQ$B8)/&G'F%;)4 M<:2T#M1+Q8@C-_1/:=OGM3V:#D]L'9N#Z:0%5Z""6\5T7,X>_\?[IKVZ!=[$ MES#UYI>M_3>OKIK9\?04A6J"YK=L_4JHV,98;&N*%_9M,=%^&3B87)_& X1> M^.?ZUH[O[U^ M61R\*O8.WAR]?'-T^%"F/X0R'6"\ZW0A]Z3+V]UW1\7^O,$!>UZ\VG^S^V9O M?_=U ?#@X-WONT?[!V\VHR_ ;9OR]2W7E=[1MVV[5SM$WW7C?2M1#SKD\^8$ M^8TJ^'A&[:(Z8B4&_*'G/@XD'4@ZD+0[DC[0K=V7XF\!SGYGI6#GYCCWVUXV M UH4TA?PW+%4#_1;7_K9XJ3.>:=_357]T=;A_:BJ_@0X^+Z9 +([_68?PY3N MG.AHWQRBK^JV,>>S*?J>K(%YOZA+.;PP[,63/\9V M&F!TX:?!R*] 1>A@Y +HCZ>6,Z_SA*S'T0)3V\*C<4NN] MLR.PIO%]?5"-X;W-QMLG+?T[+ MR?G@D7KKD?C@D09;.5#Y1Z'R73R2M\W)^S2J/FY,B 03*E[E"0V.J+>.2 Z. M:#"1 Y5_%"I?.*)Q-8G-^TGU_HI'NN@' ;[I=!V6BM[D:>2N%%_Q2#<5$@S% M ROP,^I'*![HSUZY-:P<6'KWTX?5AM$UKPV[D;Q7"\/H^]-@^V_S?[=C>]R: M\D6^JRE>E(V?-DW>Y9_/!-X=V]%Y4[9AR&<7D'W$K$E2ON==;*:C6:1R<+$Z MM:&^H?.](!T6"]RZ.+,)BC8X@8%X _$VT&X^/DD'T+PF4ML+XJT6-+/-!\WL M_3]S9\QR @#R0WP/R#)_,5I\#@!,^P^I_WII"BTX_NOG*;38>E0UT]PY:==5 MTTGQNZW_C)/B7=G\.0#F1U\ZOG7M>!.4;' _$&XFV@W1P \R"U?2;>:@$S MWWS S/.2XZ2N1DT+EL_JRL>0P67_8?+>?. M1'Y[,? ! S\Z!A8#!AYL^D"\ M@7AK:3?[A8')JC P66T5V7W;LMXBN!?'V+*MS:'E2CO@7FJ!>W#TGR_??:7] M[<8&?/TOF5Q_^@V-IQZA\=3[43RVHUG(%]N#:/H?\[W.0YX%>[,A;VBTU^_R M4?Y#U(\.AG[C#?WNCV'I[?NZ;/Y\GZR?5/4:6/F\E%V\FHUV,/"#@1\,_-K2 M;]@FL'S[3M]/Q[/3TV*=-S+;46S>Q[;IQ/LF^FE=KD$/\3\N3:$XS%/(>P%F MK3/R*<=Y%F5LMHL_FIBOS&, ^"(O_^PWS336Q=MI[4]L\Y7?#JYD%:Y$#ZYD M<"7K[TK6O7CV;JZ$O0\QV;P3Z_WTK!J#^QB75;WP(N4ZE 6\F$^@^ ,F -8_ M3V!P BMV F9P H,36'\GL.X%87=S OP]$"%"')$B1!#A\X:#_AO_W^$Y$#WD M@5_>*3$8_<'H#T9_;>FW6J,O?@BC+]Y7DY-8OR_'*9,OF^;^F_N#/.1B__.0 M!T,_&/JA-',-B;=:$R_7W,3?8:.'?!\_G92N7(<^IG&1PF^QB3/;GPIV?V M.,[,"+()AO7,CC[:\^;Y5O%T$/\OWQP=WH6"?(?_^Y)\R#^FS:1, MY[WQ(D5?6DJ,;%*WA%03#Z:Y%OMN6X*>8\1W.>%Y_/ M@=@I=D>C2Y^+-D-63$[:&5X^7 %>-ZGJ[-J+JB[\M*[A2I'K;9O%BV(HRC'\ M]M:!G=KSPL5O#NO2R0YU/(:[\@W5M"[2- ,M^/*BF>KGH_[:.JF+EN+%6=6T MW5>W"S=M8'A- Z^ 6^/Q>7OGVT^U#SR]Z/>:A[AXX^?7;,,T M_6B:A[1=V-,JCRR3#2Z,RG].RU!.SK>+X[KZ.#F9O:BN@'G6E:-<:JK3"%=R M+9D[![[%8CHK/,OP#F@U]3#\9KX7SC]W<53&#W%[]CD\O[@ #[_ARVHZ"E]^ M?59E^07NW'!I=--S0(U"Z2=?7CBN[*CY\NLFQC]O^/;DYN& )-[X97%B;YKI MQYN?$L$TG *M;Z("3'8\O>%*[G_FR[,;?U5F);_I/9_.XF529):-03O:KFG M-_@,#&RYMSW7Y*8$JV+K GX**M.T6@(R#?P.%QV,6Z%?:,;V7"W@IG88K<3O M#,;WFO']EB;>T0IF=:[&<'$NXBVAB[_%5O8*9_/9 C..?N-5P-OC",^ )V=; ML;#+,TFY9!7!!+4FKOW<]M2;FS70Z/R:W=GMFFZX8 MINU+O_176E[?:*6_::C*\8=J!*_ZZ8! 22O/O_\BTF5[6A6]AJF.\IJ! 29^<*Z.H4!G5]S4=]\RT(O@=55.X=1 MMLUS:_PM6_^WSUQIYSD7E/G49_XI9L5L7$W -YV6^8B*2;4]>_S\YB:V M?@Y\59MA:*^=1-MZW(7EN;Q=9>?"_NP#AT*8^]B/)3P!YI(%+Y/IK,Y5:3#W ML@HP9_"+,V_<;%\;+)CQ:C'B&9?A,2,[&^JSX@GY":2JR3(ZF=0ES"C'Q_D- MV3X=SX1J;OVNO><)_:G]%J1S[GOA5^#6/% \33/W3B.H3]&ZDID#COYD#%8% M$$([GXMGYI+MA;SG$NTG;/;H2P^NHZ^.QV!79AQGL%+_%F6'\AG?) M$E6.3UK[EJ<\;7%R*^RMGL[L\R6#O#T#E1E#MB(!T#";'I"*N9.;&;I9!]N, M0[>+\VI:S.!9:Z7JN3>[U?,!,KWD./,KKWBTG2([Z4O>S9>UGY[" V"\V<*D MT4Q*RYFN?.--6:[GLYC;[G82E??9I8S#-;=2M-!W[A@NNXK604Q.JB8NW/$B M8OJFK1^PU]75S,M.YQ*76L6X .H7[O'"6;6:.4?#S>7HLA6$&:#)/TES5'%6 MCF>"-6,0R&7\D.'%7 E:^0).7M.6F?W-A>57;>D'L"\+OS5MA7>NFOG8J-G? MMP'&V38@H#0\Y1(H:\.TR^_*?\$;+EM_&%79I@%F=W\>\_:7/Y];\05::%%0 MMMBC"*'*C#33*Q2\I+PNT\F&F7,&U#AMY1XD*7XZL5FX/F0C MD[W:>;:2U?;,Y'TH012J!*\7!K_5_ARR8I=&*S9; !Q MQF8&1.H<#K>F.\[FDYD% QZ=S\Q2R];)M<M8_.-<\F:P:I;J^I9#N08OIZWO!5_:M$'3/"$S MGEN*$SM*K<3,$3R\OFW#ODBNS-!&%MHZ5^K.('US(6"V/K])AGK!P6*0Z.O1 M_K>A",0\]L]9+'\?P[Y3O/SDX]DD_[B."WA_?@T);F=1#E5KEW**IHVQI@[N M:"W3['4SP]G$61SZC7S@]V5L,\*/+8:W,\^2-3!/+K]F# 2\9("WKV46,E+* M/_T(P[J3K7S$A;"5B109%LGNN4B&S(Y1Y-^?GV40.#Z>'6QJ=K!4WS)'#R1" MNW(V:S32CV6R_:.7OQ=D)]=I%*_VW^R^V=O???V=BV4KH63?Q*F_QJ:S%=6C MO>*P@JAGN]@?^]5;X%:7KAP"[.PH!^7OFY,8OU6[^9A4NWZ\;P< K:NAS4\: M_FU&M>*PI=ICLE7>7%[0"^(\F8[M-.3(]:=K))GA^OGHYA-J31X \NJY:U.N M[0C!%F;)S;>CD3VOIA-XQZ<8GL_>1S#>P?^^^ %,O76]L!00VCQE]VSQ^YL*3-O72;#2%*#VUE=*\V9CVN&:WG;/;=?)CA 2 M?_[GUA_T?U#?7]7KK/_SN*X@$$5S"4[M/P\XD7U>A#T7F(5IS">Q%ZT-+!9* MR2-V?#0K75%;?5V/;"*2:-A#U-]L03K>A4'-BZ_GZWEE.K^>/.:2R/]VV MC6$E')R] K.5\_ 61'5?)GU_2?D&&OV@X.\0="F>.M @AK<+BF\^_+@_ MZM-#SJUVS]ORV#&0>K!>/;=>+Z*?&R_2&B\Z&*_>:U07D-L#.9-_.-/6;WCX\DH.\([*LC%T[[,CZ8K(?=S4VS>L--!ZH/4:TWJP)X.,;S"M^Y2= M73ED6=4ZUWS#B&V:JZM(CQQ?K9S^?3;Q2TCY_,!FY]'3:P.M!UH/]F2SZ3[0 M>FT@XQS$7R:9@)]V"F$NUY>(1;E,SR%E=]6M>[:9-3[P^8]-GY5VW9[:%MS^NJ] MUE92S2GBW 7$HX_(&NL1\USX0)QATF^U>R. !.]R:[^]]S90XG6(R%"XG2<5 MD>.)(XD948EAS*3;*L;V%"@S;="QM6?/LOW;'8?\OY>?C=_N9,_6]7DY/OZ_ M=C2-6\5T7,[>\L?[/PY?;,UV%+?'N(?H2Z!$\\L6@D^SK16_;)6?@$334Q2J MMB]@OF/K5T:V!<4_/[TZX5]_6(.P#B9U#95^<%^#^]H,25YC]\52L%* *U($ M7!$/'MF(,8HB&G!$4;-HK[LOHCW#U L4%4Z(*PF_%E*C8)3AD2JK!%FE^^)\ MFVDQN*]'<5\=+K@,T?/2E'_7>R!XVYK"1] ^-XK;Q3A.AL69WJ"/.Q/V!S8V M/VY:='T1AG.!.A<%$LP)Q .$O3II@IS@D;/D*$ZXBP!Y8>+>75BX-W$R7XKN M"%@HLLU4%\!BT/5!U]SKF7E%5??GP^F&)>-588DBI#2M"FX@E M5&2 ))Q!6'"+N R )93"@ MH<(X GN"BBRAW8=7. 4)TA1VVI1BRY8-J_UA! M[2"M@[1NHB/2DI$0P)]$1FQV*@HY@0UR6$<>)+8V?%&/=)^@=@F.B/!MDP]% M'SS1F@2QP[KMLG7\;1W/;!DNG4GDA\UU_004W63.NNGHM[YF:>6==[YLF#2 MDH='QY93$Q-&GFD )3HYY"*SB%+#+<_KP)QV$1W/S>7+3V>YS^[N.!QDF[G; MFLIN$^Z$;7.I>Y-P[ZJ-Y& XUB]6&1SA(,^#(UP/1Y@"=L1ZCR)7%'')$C*: M>R2"HSC@Y%0*743GC^@(\3;#?'"$O3$<2UJ=;G^[M,B^??J/%=H?59-\MO$# MP_EAH7K5V>T?.(WTBZD%:!VG=1%]$+$]."HM8)-D7)8>,\PY1IS0!5\0= M29T48"_#%Q&]+J]2]@DB;]H67*?"/;" MVKW.QNY=GMM!^J.)+9KH"$70;8QE;Y+G@ZYOIJX/GFF0UO61UO7U3-IJ2QV1 M*#@M$!>&(RL@GE4Q."NEUD+R+N+9Q_!,9)N(_BSK;K:N#^?;]2&Z?5M7H%>3 M\[;8.C>8/CN%"_=LD[4Q[.@;=ABR94,N?!.Q@\N=. $C("H,1IQ)C'1T%C&* M6?#$ $;XHC+L?B72,ROW=F3'D]UQ>+DP=!WNX]J60_O-0=5_L*!VD-9!6C?1 M,4D/7H;%A)S0X)B$-\A"T(JX=2$Y$P@AG6PH?A3'I' 73;(&51]6;-GV"UD%:!VG=1"?$O>#&8? @.G+$K0C(,$&02(HI+CE1 MV'41M';NA 0;>C:L3V"Z,6M]*U/?7+HP.2].X^2D"D4Y_A";2:YD&-9=>X,1 MABS7D-C>1(Q @O<:AX0PLPIQSR/202D4))7).1EHTET$JC,3]WMKX?8O#%S3 M$600B2<*)8.,XA #42@5'"D.34H)NN3U!8GTDG+ MXTX]4BH_Q8#^)]95%L=/%!/^?/!(:Q/";LSZWNI:/;6'#0U=B7L&$KK)@0UG M*SR&\ YG*SPNT*#*$!4 )3C%(?1U !IT8@9I+1.U/"IJ52=]H3X?I?"F&OM. MNTJR;:*[Z >U=#OQ@QRF\.,NDPV>;Y#GP?.MA^<+V((IMA0EK@/BUDODB#6( M2QZM#YIY\45UTKWZ3BW1\_%M"+('S]<;2[&D\X')4@\()NMR0K"K1J$+>S [ M1&AHO=PSL-)-GN^J$:([-%NA4$WS;N[>P)6K@K\#&"FTWXC M&F.%G4'>V[;?2$+.8(R\% I[K0.U7_0;N?\!19T=!RRWJ3"]62+XIMC^( CF MQUTL'-SAX X'=[@9[M FD@(-&%E)">+4,7!ME"$CX?O(M8Y.='=&4F?ND&\S MTT71]^ .^Q30;\RZ[HK"]=?[N[_MO]X_VG]Y6.R^>5$<'AWL_==_'KQ^\?+= MX7\4+__ZQ_[1WX?5]L?&+4#&?.67+;HUK/7T 2\.M!YHO<:T'NS)(.,;3.MA MC^'J@>3\+-MB5%I7CLI)&8?EGW[:^2'/V,,\XT#K@=;]H_5@3P89WV!:=YB MO$RRI184K4L]47>K$+O> \$G37%FSZT;Q2$=V1MSM"$-<'JZ1+K)28+U7?[T M)NC ,$9F[^W,ZNUU6MMLMI4>SAWJ0]7/ M)BOYX*X&=[49DKR^[HH[J3EV!"F;P/50S9!Q.J)$A=8F1:RU[*1:9YGNBHAM MW:.]."NW +V/BF_89S-$Q5U'Q?4TAB)^.HOC9EALZ1',&'KJ#&G.38020@09 MHJ)(<&40QY(@(XU 7#)CF4S.$])1Y)M-V^O/*\G=H@DJMI7J3RGPH.B;J>B# M6QJD=7VD=7W=DM.>)"\28L$&Q FVR'B5[^V%>GL9C83W%8_NT?HABR:=XOV!C(F2F2UP"@0QUC$%"+7U$68^[@>BI%A17=]0M]A1?=Q3O'S732+&99U5YT& M'@XV6GFJ?3C8Z'%1B@6TH;C6 #9X0)Q[@DSD!D4GJ*!$B!!-9T?Z+:W43&\+ MW<71 ,/11NMD*_IH"0;?-\CSX/O6P_3Z+M9V4X^-B%&T3+R+8\^UB'"=%E2YBV[.JSMHPK$CW!D<, M6S_ZDG,?<$2G-6_:1*L 0DAG". (RY&U%CX2P5,D&FOV1>N2>ZTF+VS?ZVSZ M+JK=WE1CWVW!VS8C7:"*0=\'?5^?*'>0UD%:-]$[">QHT"Q'N<6B]Y99GU0GZ[V/Y)V4[J(6>]#VX4#.-8EXVUIKD'8TK-KV&3]TDT,;:LX> M0WB'FK/'Q2 ,>ZVQ$(AY"'FY#Q@Y#$ D,BX8<5H#0EE&O77GX$-LTT[@Q]*- MQ0]2=O;C+KL-[F^0Y\']K8?[2Y%X[JE 6'N.N$T4628,"IQZ;12-1GS1MJ.+ MDNO.W9_&MA\/S1DF5"$54.HC4@V/(Y)C=,F68$,IBUTG[LB4X/+5M>!=]- >'UY_8 M?&,6:[^#TM=^B9KH4?D)G90!AOSLU?MD,:4R!J12/BA.,HTTU@9%3ZQV F-A MV>T/,<%Z90**TAC$75+(2 "I+";CO5 Z6MF;[,%>=7I:3D[A0U/8<6C-3SD^ MCF,/YJ-X\J::Q(*(GRZ$\,;_#04"CX2[@(SYRB];=&M8F>H#WAUH/=!ZC6D] MV)-!QC>8UL.VRCY S,-)Y?\\J480LS7_^U\_44S,\R+^EJEY:_"%C MNG[9O('6 ZT'>_+#T'V@]=H@R!M:3PY'1G2*,-_6B^,2FXPUBS-;%Q_L:!IS MSXY_6_!U,U:13"3>!\:13#ION<0266]C7E3RC#/'K>FD(< %35OX_M;6!_7A MQ$YB^+^9L&]C?7ABZWA]@:D:C>SBRN<%IOTWKVY98?I*$R4:I"36($950EQP MCK3%&HEDK U8FZ [J6U]W+GB'1 D6UWJA8C,3>1;!"N89;Q>;I57! MF.2U4,B&F"6-1*0Y)LAAI4E>]W&8=*]5K? TN]/)257#I,(5"6OIW'2A1AK4 M1PK*45X:S:M:%#FM#/+>49E"I(%VLO"\Y,D1O VRDO]=2]V93;FP%P1YOF$Z MA#T&-7(*231Q_;5Y4 M!L\3Q2@(16%>T2,'"H4B]4Y+[)/$G30Y6-Z\8$YQ+76F;*=?V"8#N<-X-HFG M#EP0P]L%Q92U*]8OHI]_2]IOZ; LW9M@=.C]."P(;6(IG]::.J\9X>U?71B/W*^E+Y:<8T/_$NLJBF-=@^//>[+4;]'LS]7OP M1H.TKH^TKJ\WXD)3RJ4$5Q)R@*(Y,LHQQ%2(EGH>(OMB)]7# Y3!&ZVC?@]G M8*_#@D:NRJ[&/\!J!O< I"DG2 H&IBL2C P!>(R#P4JFY!+N!$C/"+K"I0PL M(MAE0I"BB2'..*A*\@:Q& 1Q6%L5.SD9\1$G.JQC]$^?0(&(4LPA+)D%?>(2 M.>DY?+1!1R$H-;YC?7JD10R<*$N>"; /)L#,%$-:J(2"# I+;4WH!N0LHS=9:^ M'#CL,5AU;>H/G*#Y<:M[U]<31B8"E8*CD*B X#X9Y+Q,R&-C \;2<-E)"^I+ M/N,!V=<;H%5O6GL,NKV9NCUXHD%:UT=:U]<3 >C'P@F&L% 2<\Z2]:I)[HIMA]TNY_+@,.^IJ6W=@;Z-=/Z?+80N%W8":AN,]FTK*L# MPV,) 0/D90 H[ *X\@15HK8!,/B7QJM^\#G!3E;LS6W8//DRE)22<(Z%PUU MR N2%V.80MK#- U/T3NM8/B=K/DM;UX$;RM)MX6\Z5R:M4DC#>7C:YHO&@IZ MAH*]343I3FCF^CQR!Y-;[ MB[S>")F2'+SA%14B=Y^/CGKE8'<&H &,3/G7WVK,D"('0Y.::0#=C6-+%#C M (WL4^=D9E5FFAA%L6E/&!XM>#BOA^4]IN4-,0):QX/6\8J1D@LJDM)&4[0Z M4C+9M"C7QN+VZCH>$N,>6)6XGDLUG,&3TU[G."(QBF WI>NKZ\NNR'6VZD;4 MMU5\U3[SHBPWBY_+['*U>)5HAK3V7O-G!OLR#! M=QEN:\E+73R[AM.)J^BC%F @CG4Q;L>$^MAQ$+G61%EOLM _& M*^HGUQG;J\OZO1&>-I3/-JO+19Z] ]S)#3\&&W\&O)^W,CRKZ7I60D37_N5D MG>QV:3PC[V,E:PT3H9H@;2_-ZWXJV[!8EOQ=6"\7R]>;#_C[VQOZ[MN9$L[. MO;ZO%\_@V.S&96/R]'PVT(S&E'=XH=W0;F@WM/NW:W>HQ<:4/ 6E;=-A8\D9 M(2G&6K@WB27A^\B*G$"[E9N[ 9VZ@'8?.F-RSZF-W>\>+&6R>_8^;MVKU39_\=9^?OU8OL+CFP,Q@?K)X<+'^P8X!VG M#S9>KT?YH*NRE8SWLGDP69"7P9',R565>0VFEW[A+S]@RN]V!-G3D5*KYLRJ MP>STC,*WF0!/#)$%H'O ,W1O'+KGG#+1J=!$RRM206?R)88F:9:I*+.54?<1 M[1],]XR9*WW?$);!L<29Z-Z!3CKP@QYUX&,YZ]!OW'ZY"'%QN=@NNMYZR]QO M'(]S$*?.\_\&IA)/14=5>74=+\MP/)IC9!]_-Y2=EOOO ?R=/OT=GD.4/A1B M7#9_)S-'GK7H79M066G.CA)[_LY#XOR__LJLWRSSP;P?+LU<:#_0+8T[@#X3 M!PB'#B"4$$H(Y;B%4CH=+.M&.=O,VQ^B4NR*(WCDO(3HDO.]' ,XFE"JN?1# M/;=WGD+Y+E/0_AO:]]X]/)-([[A?]5KUK>;C>=NW^MQ=E4V;/5IV!-B5WCW89M5V5QO>+95BF17OY M;C[Z5?N$S=.3&1J8.A6FQ!U#7+S//;X)K\L-45.H[9*_#I?_"+]L_OAD]F] MQZ#1T5>N\_M7SV8O5Y=A/9\]7Z;3L<,[H^P\K/0!B_UM\YZ[_K:J?UN]*>O0 M>2>;8=CO$]3;PYB8OJ[P5^[O!..C^MK97S_N&W3P6V[>[20,<"5\=;T,U[E] M6/[#'9/L/+#[=D;"]7;USEOMKK#I=8?J[N5T&7Y97=_V\?[CS>=QQIZRW[_[ MA?8U+\.;3?EZ4YJ:MWOTSE:[8.GFO9_;%9[$*"7[Y^]_OW;!K=?)QR M3[WY?6?=^YSWVTMZRM7G7O*9Y_U3(Q[Y%KB*TU[%O]B6=+_M-'&?J;MW+L%G M&>;J?29J>'<1G 7. F<=EK-^6"Q!62.FK $YO?T< MGSXD\YUFB7VU6,ZV%ZOK35CFS7Q6WJ;26>9VWNTRS]ZTM;;[ZRR';3AAX\;A MW\$3:Y> =@U(N[JYT(-<+!"H$Q9)G;6AP51#9:H3SJH'4X&I!F=H,-50F0H^ MU2@6$)@*3#6,VP*?"DSUV].3_K=5"C_\CC4[?I'I_7 RCWNG)OT#[\Q/Y>>R MO"Y?#[NV]Y"6_PSD'VK8/C3CM(5B?1G](75B![(Z+ U+3\W28!+@&Y:&I<$D MX[0Z+#T92R.4 9@G V98NI?LU&T^\4-[/;+__-UTU1, MZ#OF8>WI2(> M3"+E729GM:4JMO-IO2_LF_:8CPOQZ9 M8^=B0%WE3TT-(Z!6.'80,8@81.R+1:Q8)5)MJF55UQ$UJ40Q,4TN6!-LKNU/ M=U?$6&3!%\])^*Q)Y<#)>ZNHB5^QKJF>$??,:CV5B,FY5A(:!@V#AHT*J= P M:-B73N]R589DR&E62!G.R;6 BH)0CKO A?1F+Q#CK@5<+7BSA7<3OU@BYWPB M&91+TJ>BV(!0+B@7%.EW4):I6*1@2P0E2-3;%8LI0 M\DZ5R%4(R=Y5+)=<35)+"KX%7"K93-[Z2"I&F:LWTDLU',52<4DS_&-Q!T7&Z)8SRV>#A3 M53&TH-@VMR2Z1$+G5"TK-EEQURTQDIMN3BB)[#2IX!5Y)AE9)DH*F1F=TG#< M$MG3AN;!&>1]H2 X! GCP5@:>@@]/",]9$+[(%N@K;2SI)AW% UK\BB]=T%G M=<^X2.V3C%8)8H&;%J8[0T%93=KD*((-4=L!G?#AB]X0JBO9, ME(E\5$W)FKJV 4)WY\H=0 :GC0"J$ZM[3/;R* MZ+,ER4PE57VA8&,@GH4QND93[%X1CE>AB5G@Q(,-71&.(9^CI6RSE%:ER*0= MD% Q.7>,0ZDFL_Y/;4'($F )63JH+"4G3"HA4'3=H=/<_@@R,Q(U5UNRDIKO M%6'HX+D3SA 3W1D;732%T$0M-4%+Q4F5E1^.+'DS=\I E<:Q@X@92X^X,\]6 MF^UL5=_M$&+6$AJ4GW,: 9:&I4=J:3 )\ U+P])@DG%:'9:>C*41R@#,DP$S M+(U92\//8V'6TK#8!YEO;'Q-;N-+JJBE[CJ:FD!*%$;.%$4\)^&5*TK$7N8I M=3GY%_4OJU7>?+/,M[T9-R]7E[F_&G)K-?:WSGR53\M' U('83_HT='TR!7. M8BJ>>'",E J&(E>23,PR>!F,\;Z/T4@'UR/.YXKC%."YKW+H$9 Z#J1"C^[3 M(ZL9-Y$U61$\M5B'*W+.5C)-5$37F"N9TL>8HX/KD95SXS%6=CJK_-06A/@ MEA"?@XJ/,*74U&*:FD(@Q7TF+YD@*814*HI4XU[OJX=,+#JX^!@Q=XQ!?$9U M^!S;>H=9ZQA,-"S/ 9TW!V-A=-X2&DG+$48XDDA,@V\*"] MWYM2_Y#!1 ?W/M1<]A+YHK_F>*@"V=J3HQFR!]D;H>PQGXM)G%&2J07=M6CR M.4DJ@G?Y7"]CV2=E9I M72BQG$AI9LB;&DD&(:I0L8F8[&/,T#%.@BK?1Z=(Z-YXN.+4%H3( ;@0N<&+ MG+>.F<($%5DS*1M;7X24YQ_B>R#UDFM#!14[[N31][*A"Y :RZWI? M,26&!O4\-"A]W!H,I[<&XJ_TX.Q,'1O0+JGM15& MJ*X/09=85MY39$F3-$+$;'W:]=9^_#RCP^N>F3-GH7MGQ170O9.C&;H'W1NA M[KGJ4@Q=AED*2RJJ0B%E1LPI(TP.Q135QWBD@^N>-W/NAC-N KJ'I.9PS0J1 M@\B=D<@99G,0CI/.PI$*K 5J3$NRGG.EG'J"#OZQ7F\WLS7K5?CS[ZK+]Y0\X,3809Z6?24DF,J)E;[V#W=\=J/.UKKR;.0 M:]Y'B_=I<,W'\#H(DDX8GD$QSP/% M([#?"!5SK"+%JH\\QTK&"MXBMLK)VZ[CH1'!A%*%EKWL?_8?L=FY@39-:%6? MVH(0&\!R)&*#\*P'Y:NQ&[;E#1G&:K^QG=*"I6%I,,D96!V6AJ6G9FDP"? -2R.4 6T S+ T)E6-(9/U4]F4L$X7 ML[#,LUQ^+I>K-U?M*>S*#82.II$H'X']1K@K-]:-,,VXX-Y7\LD'4L)G&JC MCL!^\"2.YDGD$)SD45!H$6T+9)D@[XND:DV-(0;#ZUX@^Y#-OEMF:X[$?[[C MM7[="#.7HH_2-RSR,2_R<\JK JEC1BKDZ#XY"C$Y)T(DJ6PW'KBKOXZVD!15 MYZ9+,FO6QT[?P>6(S[V'')W[(H<< :GC0"KDZ-Y!";HV3=&>O#1-6E1IT1&7 MF6J,4B45A?>FCVV^@\N1G[L!#<'#(D=F#MHS05A">_K3'IFKS=X[4I$Q4K)4 MXXC?G+.]'"FVT'\('X0/V 9 MXC=,\7/,>EM="_I2EXGN)L6[E!6EF*N/4EB6]B*_!\T$.HKX2=[$KX]\-,1O M/(1Q:@M"Z0!<*-W@ES+5%QU*^VEPO

="M__M;=BYP+*JIQTL#Y8;M7XN/:*]8ZWR'EJ9W/:<^= ZW77VU]KDUF"= M<7;O/ 1'X9@K_>;$UFRQV5R7/,O7Z\7R]6Q[469ORGJQRMUZFOU<-MOV9'O= M=KU(W<--MT)GX1]AG3=H.C<@]Z.?'DVG-^PH;#C&5-/Y-@,%J"<+:M P$#LN MQ(*& >K)@1HT#,0B&7>D9%S(P=J8 K$D):E2++G@$LE@$XLE52GV#BHZI:/+ M3%(4CG\J_IP1V+_NF M2PC\9;W:;!Y=]Z6]GC/?QS%&D,#820"R!<0"L8@> .HI@QHT#,2."[&@88!Z MK)@1HT#,2. M"[&@88 :M2W@W(G"$YP+SAU7)>EMR2XJ20^U!KHSHF&9RFQ59VEU=;5:WI:) M7K]I#\O;LDZ+S>[9FQ^OWG0'.A]0/HKN%:?OO'#6;#3D[A606( :H!YY=@F( M!6)!PP#U>8$:- S$HGST6&U',T]5A$Q,!$DJ64&>ATHF9%NCUM75K)@1HT#,0BCWZD/+KDDMOB% FM53??I%*4-71#HROCUBJ; M_=Z\:.44J]F3U\R2TL%0;#\B;PM/7&E>HOC"//I_A\OK\ODT^L-'IG#+D$@' M T"S@%@@%J$#0#UI4(.&@=AQ(18T#%"C" B<.U%X(EW3;[HF2RN348RXE)54 M5HDB]Y)RR34'5XNO>^F:$KR/-AH24AM2+FCRJAJ2,@J1JRLR&J1KSH\!,-YV M^$7)+]L:VI4<[\X1HYW'@-P,=#Y .X_)A78 -4 ]K@P;$ O$@H8!ZO,"-6@8 MB$72[4A)M^039]PR\J(J4ME("C4ZTC5&I[TRR;.#UQJWB]\]]?C1M&;.E9\[ MIS&<%LL>0@7$ K&(%P#J28/Z5#3<;-L]\ZJ"(16[S4[E-46P)VDOR@6M20D?RVCIB0:LHA!(NNT/7?]Z?VGS$ M(4(VE\8BNXF%/U6I@@,\7B C,,";]P8OR$$./>N%C0.@(:O%NQG[66KJUU];S9HOI MGT/R,5#V._;"?QSM J@!ZI%'T4 L$ L:!JC/"]2@82!V7(@%#0/4DP,U:!B( M'1=B0<, ]>1 />@C++ \< YKP]I@E<%;'M:&M6%M>-M4O9O%I]D_.B MNX9P^6-8Y.?+9^'-8ALN/SC>U_T9EJD\Z\X8]72BSRITUO_$$CH0Y/XP-MJ: MJ-#"?1^OBP-KP]K#M#98!3B'M7&2'1D 9 "0 1AM!J#PFI4+F8ID@I1CE:(N MC%BP09F2#.N&VSV^> \9@&%1T^DR )B[-X):OZZO_FQ=WEROTT78E%E8YO;7 M[6)=NB6,U@(#;- IZ-[F O[T/A>1OUGFGW:IB'O&!'[)=,!- M \>?GM!GLH62B[EF#"W !I R'#)=06#'B>91V'",B$6< U!/#M2@82!V7(@% M#0/4DP,U:!B('1=B0<, ]>1 #1H&8L>%6- P0#TY4(.&@=AQ(18T#%!/#M2@ M82!V7(@%#0/4J,(!YTX4GN!<<"Z&5Z*@]<."UNX,*<7N^.@LK:[>E.4F=,IQI8^ 6" 6- Q0GQ>H0<- [+@0"QH&J"<' M:M P$#LNQ(*& >K)@1HT#,2."[&@88!ZM*@!@T#L>-"+&@8H$8E##AWHO!$?J??_$[QU2=M'7%6#2D5!,7((YFD MLZLF"U6/-W$6^9WSH@P,GQU^K>X/93N[7&TVZ&\Q((\$K0#0WV)R42! #5"/ M*QD'Q *QH&& ^KQ #1H&8L>%6- P0#TY4(.&@=AQ(18T#%!/#M2@82!V7(@% M#0/4DP,U:!B('1=B0<, ]>1 #1H&8L>%6- P0#TY4(.&@=AQ(18T#%!/#M2@ M82!V5)5,IV/AK][=B(?>YJ$55D69A%9)4]16D:J64W!.DK6UE*Q3,$;=+:R2 M.3E1?"31H$E*J$S>*4\Y1,:ET#*$<+>PZH>R?;Y,JZORU]5F\^554)N&@?;H M<^509NZE[:$>:BK$\S'*#@2H/Z#6!IH)S81FGIMF%IF5YC:0U5:22C4U]622 M7+*Y%,-5$:Z/8F1HYGEH)F8!#[^^^,7VHJQW4X#7Y:(L-XN?RP/KC=$!Y?3= M._XE%<7VZK)^;X7N6\PVJ\M%GKT#WNE-/PHK?P; G[?S(+-E8TP!'WQAW'P MDU@:TVW9!KH'ID'WH'O0/>A^T-8&W0\ TZ![T#V6!N@>='\6F ;=@^ZQ-$#W MH/NSP#3H'G2/I0&Z!]V?!:9!]Z![+ W0/>C^+# -N@?=8VF [D'W9X'I0]$] M"EI&4M!BI)#6<459L$)*N4!>FD E>6,U3U'PO2)07Z0V/K#V2L%)I:C)<>/( ME!B9+\ZYE.X6M.P.T3_[\ S]K_4M/Y3MB_HJO.V[SD6ZP(#YV)1C"/3@F0?PY7(9E*K.PF:WJ[&5Y MLRU7L:QGDLUG@@F)CDP#?F*(0 MF HV<%Z4N.O;O+P(Z[)Y<;W=;,,R+Y:O/W)D-KMG/_1@GO_P_<>>2UV\+9G^ M6=:K#Y,' VF>]"^1.R#G90HL,CS=]#%<])%Z[CE.<5.V9HN MIB0H>M7"^4;D)5BI6*R]Z.)VE?[W8G79;O#FN[]?+[:_?'F$#WF$/$(>(8]G M@&I(X/$E4)62C+.EA88ADK(V-@FL@IQ1WA5CG'=[779EM$X5U[T\LJ:#JLFF MU)R8$KRPI%T1M??0<+^UKE!SK]5<:0X-/$.V@ 8.!->#T4"$B-#'OO51:V-2 M,8&4LHE4=)5:H&>HUL2,,"PS;7K1QYY"Q'MD$NH(=80ZGKTZCL+.4,#!*6"[ MXU4K8:DP6YND"4;>"$^^29K@+JL<\YX">FU=S+Y%E;[)8 B<0@V)G*]<:)=" MEOD($2*;6R/F3<$A@6=(%I# @>!Z,!*( !'RV+<\>L5D<#FWB# 74MH["D$8 M,E+&PGC,J99>Y!%[B)!'R.-@K0UYA#Q"'O?DD8GL'=.!3%")5&667&*NO;E@ M,666B])WY5$S'I@5E9*7KOU.412BD)2E"3)FDRK71\N?RBZ"E$BB0B(AD9!( M2.0P)1*%L+TI=LFQ1:[:4/"E4^Q@*.8:2;=@52:9@^=[Q2*VJWV-(E*RL6M3 M)$77VL@2K]R7(JIPM=<=SR\K>]78^QPFP3V@+Q$D'9(^8L1#TB'IIY/T'*LH M-C&J7!I2MF1RK(764;GLI'*V6+;7VZ)&6ZW2I$7TI$1I+T^BD+2I<&-XC66O M\^#A)5TX._>ZCW86D/4IR?KI+0P-GSJ\H>%GE;ENPAB:,@92,><6!TM-OAI% M(CHIU86VPRC0L M#VO#VE.U-E@%.(>U86VPRC0L#VO#VE.U-E@%.(>U86VPRC0L#VO#VE.U-E@% M.(>U86VPRC0L#VM/RMHX\@8*F1RH8>V/3RBW_X9X678/CU=&\(#%OOOL7FR MKWJ@K_KK@OKPRSZVXN/!UGAU468AI=55NYA?%LO7L^5JVWXQK-N/E[-%>]GK M=;B'M1-F7V;-49:%-R]V@WLCILVU^^7RS#,BW:RU]NVP^NVB=L MG@)39X7N0]; M?/_JV>SEZC*LY[/GRW0Z=AB443[!I[^RZ&[X^@?%<3?=2OT?9S=5=I_H^1+@I-.P^NVE[=ZG=LW09?EE=W_:__>/- M.W/&GK+?OZM,;'?P,KS9E*\WI2E_0V'[M-M*O7=O_?-BLXB+RX:^K]^]^O9% M'\8HMV^N?M\9Y;X@YO8%CWQ>/S7BP!_QN>?54^M.? GF*8PP "/H 5R!-;B$ M05R"_VW4]V%-]+O77=S(I'VSO8=@CY($>J=J1TP!W>]93#;CAC3R$W.$-/+' MC1=8]YUF.W_[OM8A@T']X_SIA]^Y']>EEO6Z=/AOL_N&TW'\'D(&\< MZ IT!;HZ%ET]6UU=K9;@*G 5N I<-6RN>M5LO+E>_P*V EN!K8Y_GNA\S0S3 MPK3C,RW( 0B&:6%:D ,0#-/"M""'@9D9ICUTB_03'P?X?'[O]'?H5-F\KQ;+ MV?9B=;T)R[R9S\K;5#KK7(1UV3Q@$LQYIV3/0BC&>6M.M;Y>[E;2(!<2LN0G M+E \>V.#MP;+6]];%=K);A\M_C M>O9O__$F+#(]7][\)84WBVU[!JPVDH4&5@.K#>G6G(S54KJ^NK[L6L?=,-EJ M>U'6MZ2VNFH??E&6F\7/Y>9'BV7[89E]=;G:#/20$M@.; >V ]M]&=OE4A=I M@6AT-(L+3 8F&]*M.5DOB-7V72"Z^:#'[_^Y^5&YZ?"[>_S5+",U>];TB+O6+#F^NHR]3O0/OSM_#I=AF+_*N2>S9;AJMKG>T.L0WGQ]=2#LI@RH!L./O]-_8&V?W]J>WG2O\T#LQTQX(-+[W=C0#*7ZE%)9'Y*. M,E*1AI&2L9*O19-O$B6JTDX'W8M2?1#JWDRQ^4BJ_NOEMT]FFW:WVZ_(#Q6+ M) 0+@@7! F(GAUB(TB=%28;*?7'$:TBD+%/D;7M4V\^,T#E4R^Z*4GLJNN18 M>Y%N(5>(AIR1A73F67 CDF:J]_!I>7U%>;6EVY<\^0\OYH;[N5$L6Y IR!;D" M8D>&6$C2IR3)&:5$28Q$2)E4Y9E""ZM("E,JU](X'O8DJ4K)DW7$9.U^1QD* M/@@RTK(4:ZW2B7(N' M>,CDA/)D5)7">F&YV$_Z/42PL!,%P8)@0;#^?_;>_3F.XT@7_5D9DO!??ZNZ>X !0(H4V "Z9U)A M2X-Y=F=]]7V96959(%@@6-^4]%/<8%BPF MN:6:>L1D]%FPM$!.)8&2L4(8HY5R_M&2?M30!=841 M$"T1KIH@%T0+1^EVB M191/WCG$-<4HBU%"ABB%,":,\,BTQ>&V:#F=$B7JZ23H^]U '(IZ8F:Y3\XCFB6OU'5Q9*F4 M2 FAC8Q$>YQNJVD,T%<+'1PL"":<+#?M#'BT4'.]@VGWK ME.L?/Y/S3;[:M$=-3(_>66XZ.:JG8YKK MW2X :@#U82=> ;& 6*!A /5Q@1IH&! +V;A'RL8Y)7DP,2+MDT/<8X_RX%FD M<"!,FR@MOK/Q77FJO/1E%8,W5RF![FTG)2'PYW73MM]0=9LPPP9V7#RA 4"U M+" 6LEX ZH,&-= P('9>B 4:!E ?'*B!A@&QL\KA0('-:"DE(@AF@5OD0VD" M)+A$1A*+DN9.<4D-]G<:J4I/K&:*(4XE13PPABS6 4F%M4\F:)S<(Z>4OK(& M!W)+DZ^^ :6=I$I,',VSL.$<$0L!#X#ZX$ -- R(G1=B@88!U%#O!9Q[H/ $ MS@7.G5=U]5#&#M75#S4'2J[0KGRLFE3YYOR\60VET]N+_#!^C&M?M]VK_=/- M14GHW:.D&MJ]0+N7"4OL0;?]FZ/$ J@!U//*+@%B ;% PP#JXP(UT# @=E:[ MFN:\C8@QG*BU&$GA(N+8*N2<92@HG;AD@B(R(D1]Q1B8PJ+=\L=M9I;)V_.F M:P*5BOL443!>(LZ\1Y8*A@1E5D<;HO#^=KHF6>HP)QXY9@7BP0EDE33($&P- M348);2!=B 4:!E ?'*B!A@&QL#7SD;9F&BZPY4JC&+Q" M/(2(3# $.8ZIY5%1G>08E;0GX1_;=G.>+Z5]UYR$4)=KL,O7M@XO5L_M1;VQ MRZY!9;=K[/G>IK$W\==MW68[O8WK][6/_9[.-]$WIZON6[KMG6/MY%Q(@N$ M7* ,$#E +" 68@T ]4&#&F@8$#LOQ (- ZBA$@8X]T#A"?F=D?,[-E&G/$B 4:!E ? M'*B!A@&Q\T(LT#" ^N! #30,B)U5)=/3L?#WNX&X[S!/K;"*1J9U8 FE_!_$ M(XE(&\P1I3Q)1P+5^$[C'*Y-X(Q@9!EGB)/@D!%1(IFL3@%CPY2^75CU,FY> MK'QS'G]IVO;KJZ#:C('\Z OE4%0ME&%P=N%G)L@# >H/4&L#F@F:"9IY;)II MHR4F1R:"6=@\ TT#W0/= ]T/VDK0UT/P%, ]T#WZ/PI, ]T#WT*$DEE"#XR1+3EB"N%D6.)(F-(U$PI@X6[74'2[5I_OK]I_;J@Y&71CJ03:C+GT8$:@AJ"&@*FIZ6&$/P W<]\:CR]%8'; < 3Y':(=#X7Z2B* M PTV!SF\'->-O40N:(Q"$,E['%4088Q:>8ATCE7ZQCN=>[QJ^6.KCO_!+NW* MQ\JV59.JO]BU/ZL865044PI=@B;DKAQ*LXY9V'"&78+F[&I$1;1@C* D+47< M)(Z,#AIAS!+%,1*&XVU7PSKBI3$>$2,PXL+[[&50BK!6BI=\J^!W6MF]/;/K MV+[:;MJ-785Z=7K#KVB[5_<=BA?42(M &(L<95F2B.O\R%*/41*.D<2BU/OV[KS>7]PEP0)9CB($J V - +(C29[.QFFJ7L$E&!:(H$=RY]A"EF9,&+*4LT,)X2(T4.D.TE78Q:*\H7FT+(4 MICB($B!V;H@%4?J<*&%NDK(L(L<51=Q;CARE!LF0=+ ^!9/N1$KW$J61(J4[ MVD0P:!+,<- D0.S,$ N:]#E-DDZPF+A%G.'\+YPTTBPJY 2UR5.'<6*W-8G1 MP#%-'D7G.>)!I_P919!2UOI\6R$(]?"!$L$+)>E"2 FB!%,<1 D0.S/$@BA] M5I0LT\Y[C CE'G'),7+8,V1RA.2L)D91/XHHP9(23'$0)1 E0"R(TA>*,<<0PI8B+_!E-DD/1,D,)L=%I M_&C9.VK4@A #P@33'(0)$#LSQ((P?5:8N.:!6(9$T 9QKRPR%C-$K4P\8NUM ML'=Z;'@>DHD)$4[R9[!D2*M$4%1:NXB="9N8Q%CC.P>9"Q]8BC@A'T/^#%5%(KE% M6$?MRC9";..8$OEUIYD3I1:8"A#,"1QG#L6]4V?]B4-W%C:TUFJ?$1.$XY8$EDKJ);) MTL/.PH9SS#4=;X]* /7!@AIH&! [+\0"#0.H#P[40,. 6,C&/58VSE(< MK"(H"((1]X8AK15%RAJ8'>GJR_&Q',N$<>$(2Y40)88@J0B4G$1+(^? MWEOQHDL/_-AE!UYWB8$^;_#F*B70O>VD) 3^O&[:]IMKJ!0U"X+'** "$I@[ M"8!L 6(!L1 ] *@/&=1 PX#8>2$6:!A ?7"@!AH&Q,X+L4## .J# S70,"!V M7H@%&@90'QRH@88!L?-"+- P@/K@0 TT#(B=%V*!A@'44-L"G'N@\ 3.! MHWP4VE<\?>N%HV:C*;>O (D%4 .H9YY= L0"8H&& =3'!6J@84 LE(\^4OEH M\,*$R!3R%"O$68C(*!61ELY9HC'W^DXSM]'+1[L77_5Y@)^&!$'XYM)1*N6" M0B-2( "0+$ L(!8B!P#U@8,::!@0.R_$ @T#J \.U$##@-AY(19H&$!]<* & M&@;$0A[]L?+HCB:1K$;&V%@.1?%(,T<048;RQ+"U(MXY%$4E*BAE2$A!$8], M(DU#_DSDR0]*!8@%Q$+ * ^:% ##0-BYX58H&$ M]<&!&F@8$#LOQ (- Z@/#M1 PX!82)\_4OH\!<=Y2A&Q: CBAGMD-?%($*>9MP\#6/<>$<(#.U-GKXUQU'3S93;FT!T!Z &4,\\R0:( M!<0"#0.HCPO40,. V'DA%F@80'UPH 8:!L3."[% PP#J@P,UT# @=EZ(!1H& M4!\OP8O7<7M0;N^SZ4':[ MQI[O;1I[$_L=F_%M7+^O?>PW<[Z)OCE===_2[>L<:2^G,1H.C@'" (D#Q )B M(=( 4!\TJ(&& ;'S0BS0,( :ZF" [(P1+1!&!J*<8<:LX,EQK MA(,B,0;'@R1C5-Q"=@<( XX%GEV=[LNXJ99-VT('D GY(] &8.X=0" &!% # MJ&>>B@/$ F*!A@'4QP5JH&% [+P0"S0,H#XX4 ,- V+GA5B@80#UP8$::!@0 M.R_$ @T#J \.U$##@-AY(19H&$!]<* &&@;$S@NQ0,, ZH,#-= P('9>B 4: M!E ?'*B!A@&QLZIC>CH6_GXW$/<=YJF5527/E+,L(9$81CP0AQRG G%IDB?$ M.0\RH@(8EUVC'JDKY=5O4R;EZL?',>?VG:WW%: M89LQD!]]H1B*BH74#,XM_,P$>2! _0%J;4 S03-!,X]-,[T5A!$F$/.B:*84 MR$B'D:\IS?]+*S\!0!_VZ/XH, UT#W0/4P/H'NC^*# -= ]T#U,#Z![H M_B@P_5!T#X?9?:Z"A 7G";4&2<\)XLP29!WVB"?&(]6,)BMO5Y!0$PU/4B-L M1?D,MLA(9I!6G/.(&28QWJX@Z7:M/]_?M'Y=4/(R;EZE=_;C2 ?223R9\^A M#4$-00T!T]-20PA^@.YG/C6>WHK [0#@"7([1#J?BW1"U"YQ;I#S)B$>.4/& M<(M48D%[9Y+B>(Q:>8ATCE7ZQCN=>[QJ^6.KCO_!+NW*Q\JV59.J_]JN8L7P MHJ*84F@2-"%OY5!Z=(F1.1PBMEUT"0X@T5@ M^K:GD1*/PAN- C4!<:$2TLPX1"U6RGM*);G3R>[MF5W']M5VTV[L*M2KTQMN M1=N]NN]/O'CY\TV'(M4?8T#_BNMF/W:&/CQ'/[>/+2\*B)T[8D&-/J=&RD7C MB(E($*T1=THC'95$*EA/* TF$#**&FT:_\^S9IG#P/:G7[?UYO)^42Z($DQQ M$"5 [ $@%D3I(%$:1PSIB%,08$:CYM088>+?O6 M*=,R9WN]^JNJVW<90A>VZ7IU6F[-87<1UW80RGZKW ML=WD%_/[-NO:EX=MF:&5_6#7H85>:!-R/\;I:?3TAIV%#>>8:CK>'I4 ZH,% M-= P('9>B 4:!E ?'*B!A@&QD(Q[K)WH06DC>$3:^[(&I"W2)# D@@PJ<6_% MW482%#.B30S(2"H1Y\D@K4G^=+>KW2K/-?MD,NY%EQ[XLX,U5 M2J![VTE)"/QYW;3M-]=022X6VHQ10 4D,'<2 -D"Q )B(7H 4!\RJ(&& ;'S M0BS0,(#ZX$ -- R(G1=B@88!U <':J!A0"SDTA^K@)X3*HF02.M4.K1XCYR2 M$C%+36G+S(R^P84=Y"(YY9!PW^3.$(6U('M%0K_Q07% FHEWY6#4IS^WS\V8U%"-O+_+# M^#&N?=UVK_9/-Q=ERMRC2!EZI#Q]?X^C9J,I]TB!2!! #:">>4(.$ N(!1H& M4!\7J(&& ;&0HWNL,QPY"=8ZCWB0)4?')'*42$6:!A ?7"@!AH& MQ,X+L4## .J# S70," 6\NB/E4=G/ 6A.'*8"<0)H$*Z M9MQT3114&VP9\MPQQ)/ER$::4+!4*ZT2#20^=&DRI&L.@P'@$.7I%R5W>:X-$ N(!1H&4!\7J(&& M ;'S0BS0,(#ZX$ -- R(G1=B@88!U <':J!A0.R\$ LT#* ^.% ##0-BYX58 MH&$ ]<&!&F@8$ M;,Q]I:R:E)C#!(C+:1\23YDA'1A&+FCH1J(U6C%%)>Q+^ ML6TWY_E2VG?-20AUN0:[?&WK\&+UW%[4&[OLVE-VN\:>[VT:>Q-_W=9MMM/; MN'Y?^]COZ7P3?7.ZZKZEV]XYTDY.L1#,P $S0!D@L#5+*2!'E1B"N(D::AXB(RN/L6<#8W>F4 M=I_26\CO &4\1*WN4!0-M;H/11LOXZ9:-BV<"#PECP1: % M6*!A /7!@1IH&! [+\0"#0.H#P[40,. V'DA%F@80'UPH 8:!L3."[% PP#J M@P,UT# @=E:53$_'PM_O!N*^PSRUPBKADR)$$N22$XAS;I#1SB%,<<1)$Z>D MNUU8%; 1QF"-(K?Y,T$E9(6UB$EIE=&>&QEO%U:]C)L7*]^8LKKM3@-?Q+*[:^GV\9[TQ=$!Y M^NX=OTE%+K\[KJ^L4.ZB:IME':H=\)[>]+.P\A< _&4[3S);-L<4\(-/C-X) MP RFQN&V; .Z!TP#W0/= ]T#W4_:VD#W$\ TT#W0/4P-H'N@^Z/ -- ]T#U, M#:![H/NCP#30/= ]3 V@>Z#[H\ TT#W0/4P-H'N@^Z/ -- ]T#U,#:![H/NC MP/1#T3T4M,RDH"4:0QA+$26) ^(D_\MY9I"VQCL?C*$NW"EHL4DSR16RF&G$ ME9+(,.>0I#P)+; A]DX1:+>)_OG^'OKK^I:7'HK K<#@"?([1">S24\HY$*R7* E>,S MQ+4,R"J<_Q3"6&:\#U2-T6\ PK,Y:/*L^Q1\5VWT)IC &C\D0/]BE7?E8 MV;9J4O4V7FSBN8OKBN%%13&ET)-I0G[6.*U1;M(2?48++X5FZY81/*U1(?PU MEIZBKS5GYX81RB4+#FG'*.(L9;]&6HZDY]HZ&;B5=YHI)1>Q9MPAQ6+(#I&U M2)<$M!61):R2Y_R.<_/VS*YC^VJ[:3=V%>K5Z0U/INU>W7=A7KS\^:;KDNJ/ M^#H$E)IE) ^V;C#OX0/3Y;Z"+QZ2+(NM8$-&@ MH 5!W#&!=.G.Z[4JRZX<>V]&T<5-X_]YUBSS +<__;JM-Y=?'^*#/((\@CR" M/!X!JD$"'U\"J7=01[OR&,P!GM*\EAJ M+1"767NL8Q(1;:02(25O[IQ]K67RRF.7/R-#B3CS9RPS*-BH"%66,N4?+7_* MQHBJTD$4QPC#PK)V^+4BP2N48X&NL493:) M.YMB>4B$6N$1'Y=W2L3L/8Y28*[1V,BD'20 M]!DC'B0=)/WI))U$@4D@$G%BLCRG))!FQB+MG.0,&Y+$G?I/'#GG^16D.K^_T]>;?M\2W8P=K[G38)UBB?ZK03[!,QG%M-F0Y97_ M_(Y^!WF=PP(U6!NL#:QR9)8':X.U#]7:P"J <[ V6!M8Y3 L#]8&:Q^JM8%5 M .=@;; VL,IA6!ZL#=8^5&L#JP#.P=I@;6"5P[ \6!NL?:C6!E8!G(.U8G<7* M>M^GU:K9Y _:=7YZ5=7Y;:=KNZPN['I33LW=G,4V5L^;8J VAO*H M.^;9;O(?/]BI,B5N&.+LZ\OK"GL:>KI%- M^9+_:)5V^;I5TOJAUHV']I)F.\SQ/NIPO:GN\_SEIGFG^[\6XGW+;ATMZQK_XEB^]3I[);_Z.I[B, M_;K W?O.>DCIB\TGS/HHDUFO8G6>_SQKJYAO.51OXT46;1?7%<.+J71# MN#&$_4]@-L%!?/2Y-2%)^?*D>\SQ^7('D<>:8M_7JVISUFQ;NPKM$[;/^9H9 M]=0C],3:]!@9?="FKQTUBBF;]G29WDB!%WW0A@:FFBI346"JB4^@WW"5S5>Z MRC[;,OG'V3QA)NL(WSM?71+ 7?J\2NOFO&HNXMINRC)CZ5KVOM[4L?W]L^A0 MQN0+\^&^1A]#4,8R\?VV5XQE]/MLKG@@JX.EP=*'9FE@$L#W@5IZ!,_QFWW] MVRT]9^ VWME#=-^1>1DWU;)I[^$,^[KW3YKT4"BHPIKAWF-WI69Y9]\7*-^?QETR]HQ_; M91:$L,GT+3\"*IK=>5R'Y4,"BD%005 G*:B*6L4PX8@%81 GR2&#I4"4J:6!20#?!VKI\9:A]NWU5$?-':+WV1WSB)PMKF7IHA!7K2UA M&"Q<382.#B.XG8']9IA+FVOZ*A&AG-,*"<.<82L$5 M67$$:1D5(H(61"N0(L>88:/MUH"$>W#S/,?8_Y^7W?S MJ[*K4-GS)EOK7_<,:V&5Y&FS;$?+-%/.4H(O\4E?0E 6B1-(V200ES3DL)82 M9&F.9ZW7@L(;6&6SWF6'U-L"TB=,U)!CSZI M1RP0%B5'CAN/N$T,.9<%1ANML?(,,QW&B&T?7H^$'F.?(,QQ6*^=>W3[_9]M MO?I#OR^P:TG1YNE4>A5?K,NVP,UE%_+&7[?U1=E2",NX$_$O(+,&N7,HB7C0 M1+Y-)IF(B/ 1<9(]'JLP1820@+7!6@DS1O!=^+=40[Q:O'J(YZZ.F+*K'1,\?EAH'@&]INA?LY5LFBR,1S04R\\D9H<5Z8>M\-M+B)50/42WJ>JVW<8\ MN=L-=)"Y M5VDX2G-U^KP0W%BK Q6 8Y]DA]3S M(G3-208X^)4?!IN"T8T@R:Q#GA")G MLAREQ(,6(5G%Y!@Q[V/($94@1_,(<&%1^D&G^NMU4PY=S9,\3YBJ<6VSC)O8 MK42WR^8#.L\OKTZK>O4^O[]97\*J]$0\#,BN05;]T#P,(SWCS'GD''&(*^N1 M#E$ADD-72K+'03CYEH W;7S]QRO&^[E9O]C1VJN.^-H\@CZ.MA&;2@)I]".? MZ,<4] )2YXQ4D*1/!KT\Y/_E*%>*Q!%/2B#C941,&N:-C3C_ZUN"WL>5)&I MD.81]L*Z[H-.]E^N-F%O5_G9[@!+NXEY0+:NK4-M[Q/IPM(NY-(GZ%9 +GUZ M;@63D2KO)-*12,0EQ,$B]'SLG'%-0#$B=,U)! MO3ZY^YEQ(VA(.K.QN3[K,2_)CJM2]:J?X8 _I7 M7#<%MQ\I)OQ/(%KS")QAO?A!":$4)/2!=/I*5DH;@ -7UB-84E^ZEG'O[;KM=VM;DL[=+ZW3*P M0C\1%P@2F[#&<6AK'(YB'"W5*& N$")X)_O6[" MUF]V[/;3QW+"R%@;_MC"L#$B=9C@TR$A$T06) MN-$Y &:2(HXM$U1YX>,HS< ?5(K4(BL@2!$LHD,H>QW*KJ-OLJ&L6\9^43U_ M:IORW-BNXQI6RR?B4QQ&9FT&]@.?XM%\"L.,5%1R9*3!B#.>PUN=\I\*N^@X M=\Q\>ZGUP'/MFVN:*QOY_K)'MN?K&.I- M=U)7?G_IA>9LZ'M_QSXI!DO/$W& (!T(^?Y#B\TIRRX#ISS['#0B3I-%AAB% MB-$V),=9T*,<1OTJI1_LTJY\?'L6XZ9GO;+'[9?:NGI9;RZOGQH6 ][$//SC M[7WC"X:A,?BQL\ Q!>R U#DC%?3JTWKEI6*<(<6UR7KE*=**9.6200ALM9-6 MC+$^_?1Z118$]E/!(C8$R?DB?HPIKO-\J^JN2T.UL1_C/<[#@C5K6!B8H)]Q MR L#L_4S-*:61X6,3Q[Q%"UR3G.4A)3"L2!,&B4NWC%;WW[FG?TX.!,_Q%7, MUSE6*IY"=_!CG^?'%/D"4N>,5%BJGKP\$D&TQ%8AJ4W((375R!#JD+.8!8>] M#/;.EJ[[A.&CR>/7-@P%G80E:XC&?WO8?HFVC;O5Z6[)NMFLB>!K.,&::5,'F5!C+B3][_7.G5ALI?-RMOV MK'Y&HI#2 U#DC%43IDYTW$R8<>X,44S@+C(G(L9(I MCB%@$3$F5(VR&/U8HB0$!E&:U8KS>"'M,46P+\[SCVRJ/)'+E.K+H?V979WF M3]>KJKF(:[LI9U';MHV;?EOV139B>>4_OZ/?335I?4R^ M'%@:+#U32P.3 +X/U-*P<#)UM_/$^VSM[$^NHX_U^U)[NZA6<0,K)Q.A(XA< M(4D%^T8>A$&.^X08)5HKBBWWHW2Z?;'RZ[)*_6/L__MB MM>/>-U?4.];>2KF0=(Q.0(=!/M,\H@;6>28G 9-&\0SL-T,)G:MJ>6JIHHHC M37S9?, ]LH0I)*T.MIRE/E+1X;BJ]95+/FS!]1B['F'B0YWAW /T03_IAB74#JG)$*Z>+)ZZ00SB8F/(K&EG1Q+&6&/ ?10OAH M/)5&QX<)O.^ED[]]COE"C'(HS6&0#E070@S^Z6%[O8X7M@[7=865WZ[7^;5A M,R8LED_$^X&$'V3ZP?MY0.^'!Y>,3PQI1E@YBR\@RYU&D3E!#":)ZSOE)>-D M"08.WG5?&*I-3E:AJT0YZ7AXM&-C"86VO$_M%DV9J8XIHW 8*)Z!_6:HJ7.5 M,9HX#\K0+%XQ2U*6+>28]LA)[YUF-D?Q]&&"^'%E["L/A5L8J.R'Y70(Y?-% M=-/LWF$[K*?#HL4$78Q#7K28JXMAM76A'"G+A<2(R^Q=&!P2XDJ4L#EXX4?I M#G37Q>@H[M6N7OQA7 JI8-G@R*?],<7 @-0Y(Q7RRM-7RX1]>O>\H=/3NP MR#,&%AQ@ 1V2!P>#XAG8#W3T.'4T$4H=,P1Q*C7BS!/D*(V(4$>U#UK2\$"K M^0^LHX0L]"B9]L.@H!GG$&!5_Z%S".MMGER?V*&_UR,9UOLGXA$=1DIS!O:; MH4B(GJ]!Q8@R_ M7//?2,L:8L$-+&P<.PL<4P0/2)TS4B&"G[QX1LPE9HR@)(7+$7R61"U]0BIJ MK"PW.9I_H&YV#R">7Q?;4[$0&';1'4!L#_L#'I0Q=J4RU3J^CZLM[ ^8BE=T M&$G%&=@/O*+C](I,RDZ-81P%'33B5@BDA0I(!>&,8DY2_D#[ W:<^Z:GW-'7 M-1B4(SZUXS-E;CJFW,)AH'@&]INABLY5N)+73D2CD+,LBQ!5!AE+.(H\NA2P MP<&[APGG[RU<7V@(P[4!Q8(">@C'AP+Z/ \0K+!/UZLXC*3@#.PW0Z\"8O,Q M.@A)S%DT&"F2#.*!6F29X4B'8)3#%*OT0+%Y1\ OF]5 OP^X1"$6BH^QC?\P MR&B:@3IL IB<)$P:Q3.P'TCJ<4JJP%X1YR+RA 3$(Z?(!FD1]Z M_.ZXOK+!,W&QJ=IF68=JA[NG-OL,+/P%X'[9QN!6':A;I07EVC.!2H8!<28P MW(6FV8" M W8:3$Y+0*U!K4&MGVCKA(Q6*JN0Q40C3H)!3BB"&$],MU M\[X.,?QP^==,W-GANFHZG2_J_<,L-\D%TVPRZTW@=\$V#U!N4&Y0;E#N;U-N MCZU(U*%HC2N5D0P9D6S^RC M\-_)$JY9AA%&I4S1*BV;#VV5ULUY5:_>Q[9,S\I>S<\_PJ:1QW6PLA'+*__Y M'?T.%O^>WJT%2X.E9VII8!+ ]X%:&LJ=I[[8]GJ[]F>VS>]M4G6Q+DMMF\MN M/W+\=5M?E.W)L.@V$68ZC**(&=@/*K2.,^V6N([4LI"_C7O$I<-(>V>1HY9$ M*I@(>)2BY]=#W<>[YL1GEEW'UP/QOE[:U>9D%7[:<>](FY/X*,>5'0;_P +8 MH7N=QX#B&=@/5/0X5518BY,3$1&F%>*,,J1#>>1C2D8&[>R=DT+NLWCUZ"JJ M"0<5/9C%*,@H/%!&8=WX&,.P5M7F>39F:@$6K29<._741IV!_6;H%,W5#XE< M)4ZH0M0P@7CR$5D7\I_6*&8T2YZ84:+Y@?!^SGSW-M/=J]25&HWLC:3Z8PSH M7W'=%)1^I)CP/TVFX @F/L3MD[$T('6"2 6)^I1$24.IP#RB(BZ(8][#*/O68N$RL'/N>Q\U9$X;]FV6>E>K6 MD^7%F:W>;F)UY<$?!89X8;# OL3[TT,&5*.J9 _3!0/ /[S5 \ MYZI7+AK"@W,H>B<0CU&7$[\(8EF+A'6><#-.H/XP>O5 R6.8Z8\0FL-R]8/. M]VZ>M7777JKKOEU6J[OV4[:?@0$6J2?B6$ F$%8 #LVQD Q;5E+^S$J<'8L0 MD-76(^-H,I1[:8Q_D$#XAVU;KV+;QO9EW+Q*I<9\>"5,RL> 23_G27],<2\@ M=!@<-./-Y;"0_HB;RT/=7C2M79:0_>:B^G:5/],U\+*;F(=KZ]HZU'9] M"4OL$_&6H _E9"Q\D'THY^KDA& EMP(C3Z5 /%B!7,P1ODB$2Q(T">S.2L,X MN];[34I_Z?8HC;]"KLUTS@6=0[?'^?,&9 R>',V@@:"!,]1 EW#043K$?%2( M&XF1%0HC%;V)VN&8B'N8;?$/JX%DH3CT/)X*+.!V2-9HC:('"2S!L]2GKA,R=+ MO-@1^$.>"44GLY R!Q=KFMOU8=O"Y$0%9!MD&V3[:63;:"6C%Q0EG;)L*XQ1 M5EV#-.$84ZUBY.P!#X1Z#-E>8#6==@$@W(^Q2V+V$?@TSH-*]?!W4H M@S+A4UQ@:6UN"S]@:; T,,D16!TL/8_SH* <]D'#S[=#OV;?G)\WY6H:_T]8 M89L(%1W&[OX9V&^&%49SS6PIZ:-302#IF4%<>8V:(.;Y*SSN:>UM8;J0]/HPO,%:3263!9 >_;3*6!J1.$*D@2Y^4)16D MY5P@BTU"G%",-/8>\:"P<-'$Z,G86U!'E"5HQC#?3:500OJP$6Z953G$37%= MEDQ\TV[:ZL+6]^CS!"LF$RZ+>6JCSL!^,_0G8#?)&,Z-L,('$A#5.=+FG$:4 M VF,J(W.&4F5HWK,IE.O4D>Z.__F>:'>YJD)9YH;.6'Y9'*T/VD4 MS\!^,Y3-N2J5D\'$E)4*)QG*OD>)-$L61<&,S@$YUFJ4?8_C*Q6T7)YO! YK MS(]Y0G ?CU]TLSY^C&M?MU#5.1FO LI#)F/A@RP/F:UG8A1A*D:D"-&(FU)( MR;+B)\FXP5CPH/'H?9H*5;[JF++]:6#*L3I04DHFLT PA^J+^?,%1-1/CF;0 M/M"^&6H?QX+%J"UBO$3E3 2D!8\YUD[*.V:",'+T_DP/J'U*C]&;$+1O(N'[ MIQ;0H2O3^%V9+H8JX9SE^MBH=5_O_3-7V_B>UF7?M-#-W1E:MP\XF]=X[=U9&( MZ9QJ.0<';)I[^&''P>34!_0=]/V(,A12I*RE*2*C8D+<<(=T( HIXS63A$4U M3AW DTKJ;Y^?"#HZ$7Z90O_C8TYDE/T'>5ID@[6Q' HU8M8"]A],>-WEJ8TZ M _O-L#(1,@YC+. 8::@@ 1%K779U=$ V<(T$33()3:FXNX!SGXS#-SE"K^.Z M+J=J]LS]X\#@^>_E-M2KTWV7JW?#1D]&T(66T"]@VKD&V TQ.569-(IG8#]0 MY>-498J-YUPR)'!*66&)1#8*CA11)$3.&0E\C*3%O%59T 4#57YR58;M&4_+ M?,\_E\6H[*9R,=_"JE17-*FZZ&8L;,F8B!L%2S:3L3 LV4S(^^$X*5J\'ZPD M15PGAFRB GFDY(1&2$U"D89'JFR2I!1O9^1 M%FQ>F'"< M'_/SWQ#AP_:%"2^4W"0>^HP6Y@G-UBWC9!R91T@^_MM4BDH_/0+@YHSGYFB! ME9$^9+\FAK+^X9&UV>L)3&J)-:4\T-MNC@V4>!URW%^<&YY41(XGCB1F1"6& M,9-NBFX.(PM!\616,7X3ZD?AYTQY[?:8<@ @GB">()Z_7SP38\QX;%",D2&N M*4.:*HJTTXKPR%-0=]+GP7I./.7(:9$%%[,\Y#@Y)+V3+&H5C!IW2]]8Z7.S MT"">$Q)/V SPM$F""E;W']=]R48LK_SG=SD@@86C)W<:P=)@Z9E:&I@$\'V@ MEH:EHWMYA:Y9AA'&Y>WVXF(9RREU=EF%NO7+IMVN2^.NU*\EI67SH:I7?:25 MXZ<_P@+2!*D?,H^3RSR"I<'2T[(T, G@^T M#<>S3CWY^'J[]F>V[3W+BW5S MD6UUV6U9*KN5+HH'FMW,4A\80^F_$E>A/_?%YT':M-6%O;0E55X^D9]<;^T2 M&LA.A68!I;< MMW1&21M?_W''F*_2ZX$N3U;AIQU9OABX\L7JI*?(USU!CK7!FLO);*Y^:EZ8 M :^"BP@*!@H&"O;UW<2]B5IAAXP)&''K$S)68*2#Q2:%J%.XHV"_IXO(TRL8 M52!@\]C4,R1"(/)^& +HSCBNZK;=YL@Z3YD^?,Z/E_'4+JLV;C;]"A"L[$S$ M&8&>0]/?N0S.R'C.B*&6&N5Y":<5XC'[%-J:@ )FP=L<'&>WXYO#Z8X&7W0L M^'.S/NDY\)="@6^O&' LUV.1K3J9C<=/S0,SX%$(GT&Q0+% L;Y:L6R@GIG$ M$?'EC&_)*3+,YE#81ZIT#I,UCM\=F="[*LK:N7]>:R6D??G.:95RBAQ-2K M_,7=>V!1>BH^R6'D[J;IDT!*?WH^20K!!Z%*%*T,XH8Z9#$N+@HUPEFI24K? M'$5W]/@J_;6-)X4;3U;9(M)(!1$#$?LZ$<,!YSBX.\["%A&S'%D:(A)!4N-S6)TCZ&\.K!]5Q!XH MUCX,8IAXK TKTP_?M?+"UJ$*VW79[;TYBT.;RBZHWIS5ZY#?4':*UX588PN+ MU%/Q3 XCV3=-SP12_M/S3$)R/KD4460R>R;48N0B#H@*QW/PS(+@=\[=^MWA M=6'$UYD0?^SX\-U9[ _2RE[(N\*%KPL5OAB8<*PV66R,G=Z'P08S8%.(J$&W M0+= M[[^Q"3F%)8B(.&\0YSYB(R)*0?84E.NI<6)?7-$_02Z)<48F>##8(.) MA]&P9/VT8;3]&-M%M8J;4GN]CBD/#2Q33\4?.8Q$WC3]$XKW@F8YW(P @D[Y\\6H;U MY\E9>M)(!74"=?K:C=V12Y^%R6#BRH&('CFC/&*!:JUY3$:*;XF6'U:="#&@ M3H\8$^?_EHKU[N'C3;A[!#7=;X]B@\>]U6L^&S/0OKWL7K>% .U,91'W:&@=I/_^+E>V96O M\]O?;O(3I9BC??9DA@9,/16FY"U#G%UEV2[L:>P)&-F4+_F/=OG!7K9_^J[Z M#T#'I-%QJSGWO6WQ\[OGU=MF:=>+*CL,3\<..Z-T3E+'>7_?-'_W>W3V][2C ML[^WF_--.PW[52\[?MXTU?.=[29P55^O!X\YX(3NTN83G C?;U=V&_*/A3_< MLDFHW]_U^+[X.U?N_\OM>5S7?O#^HY;9'5;9$Y;4(\XP08[G1YH1IZW$E',Y M1F[JAVU;KV+;_AA;OZXOBI]^L@H_V+9N2Z^D[#6L-EVW_7?Y=WY8-OZ?WU7Y MK?:BC/UZ&^\3WW7C^W2K'6,A@3RKNG_V3%=<+3=8=-];_Z2)^#/^[P]DI7]L MVTV=+B?C6=Q2C^K[LB[4;T'V?WK>.[']G^%/BZL7/L2[SS7;]?63S?KJ^6V[ M>_H/U0?;YN TAY%]_][\K.HJ)^NV]/5MUA?-NN.Y_%JYCK:07!FY'^/2?L@> M]+-\D=7)Q;I>YL]2LJ@^Q*IXVLM8/M6YU_6FT./%UBWSC&U2BMUJU_?_Z_]A M_$\O7K_J_ON'1?>K^8K+I\^;,@RE_Y&+I_D[-FO;M15N^HMX:=M@?ZW^O&Q< M_N*_V/4_XZ8JM[#NK_'R/,/VZFZS/5_L[O<9 .T::/\=^Q"H.NT->;%NWM?% MB'EXVP+ 8G?_S_Q$>]EF:6L75;N]R( H(^LNNW;0ZSIN[/HROS]M/O0!5:C> MV^4V(AL*IN(JFR/V0][&]?O:Q_99C^_;7U^=-^_C\,O9/G&978"S=;,]/6NV MFVYD@[TL7L&YS3%;_G^!5Y.Y)-LCP[O>L6^USMCRS;][N%ESM>>EA=WW+<177I]V]A:TO"-YD _4OU:N,_N6R^XUGU:L,U?RC M^>[RK]^\DS)Y_':]SA>TO,Q76_"9O^H:H7]K+G.0L*[N M9FB>46>U/RO?66;'YD.#.N/DRT%E+-:VW@R3B;[NYU)5[FZ91^!C_M#5I37+ M;7_E><*^C1?Y.EU^.D]:VDU:NUIE2Y1;+E>8#=Q98$?4K_-_\R@NNFLH5=/Y MSSQ>89M_YNZ%D*L+N3G.5Y>0H7=F\P#99=M42YM_]ZS8NOOF;D ZN QO+\,X M &^XMNMQZ/!6:K[S-?[UV=MG* -^FZS?;-?=G>1K2_7R?+C4=H#M/Z+/0_XA M#W5;OF!1V.UD>YKG9[$'Z^RQLT#^FK=_??GJ]=O,4)5?-MN G,UNX&)W6\B> MKIH\L_UPMWWU>::P>M.L;]Q'ONCF0]<>O7O+]05DC*S*H'<^;RS3I[!LN=?2 M?_'Z1O,?72(Q#].0J*C7PZ^&>+%L+OMT1!GA//NZ2ICN7GI;5YMHS_N]!-G. M75OV:[2GK,+Y[7E *OO>ULONY7PU^5+K;)8R[,6^W65\:-;+D!DE,_VRS+HB M%1ES^9*7]C+/UF?0Q3)+SJ(-OV[MNFQ; M"OW(EA]=5-DKLVVO,V>V[4L35IUQ2S^]K6OK4-M,(^WN0_GR:[NHGF<4V2+& M^>7NTV_S/9Y5)RE[H!84Y1.*LJIR(%2N^K0Z73=UR[% M?VW/+_*$SI.[4.K.QR[AU'JSO6BK[__KU0]O_U"=^,VSZJ]7%%J>+,]U^([+ M6 XD+G@M7-#Q>IEK17\^YFLK0I1'<]7VG1^&33;YW2$KQ66>*T5%2EZP$-LZ MSX_W=0GTAE,,NCF\R0-OUQFJY8D"ETS)67E*LXG\>TT;]]YB+RZ6G5!E>7Q? M9G)_]QE9-]#R'S=BF?QW#HH^'S!^ 4;W3A)\!D./FB<:-1J4P4OA*4.!88:X MS)&=U3&@Z(62)FGI91@C&GR;K5>G3 &KSO M'(QXE;?+KW^%; O&CD6X[ZR0727NBM6&O.=^XKBZ2ASW*8'SP0WL>H-W IS' M8KON6@=;F%_/2'LV:91;+XP.&F\]7[9]EA=3&NRIA>V,&1*U>X#IWW M^Z'.3L4^95R/]&EQ:FWY\OQZB7.N/(V_KKH[ZA*UW86==*1@KX.OSL7]\\G) MZ^L$2=F*V[F*]?FG;[H#VG;=;@N+9='_.8]*13#ZO]TK)V61/7N^!)H]UY^O1H"K3X2*-^\*#Y,]DT*5OI?RB_G$*D;]-+)*D>8G=-B M2["S9[)SVPU!B5S7L1NU$M7G&U_%''RWA7N[?M)5LB5\V-U)^?KBYE_?Y$4S M.$RV^^WKH)'AQ1 HE5O\,7]M_S19#/%D^9X] %Q%,>U0(%RN;QW[;,&J[D+) MU>:LK7I7[>X/=6_LO_HJ3;0[YO3Z.W_7-_5QPV?0[>RR@UE[%DLGL;;/>-VZ MS2Z*Z"R>S5N_+Y-BW9SOH[U'D?E3!LGU;/K"''+;'/4T&9^KYNIHK0X)^\>\ MKLOI6^L^#3/6+'A6O>J'*7_1;NSN.UH9=^7R=X#+5)1_/>0?Z=(R R7L?J2# MZGGVPUWVY#]>]*[\[I4Z=)_MT> E0F49^; 6[M1ZZ=DY^_WFVG:OZUV? =5-QMX)G5ZMM M!O@GH?Y;W'[%Q'MCUYS7F\W>-&OC;S/S/BMW@.M20.4>UE<\?"50;PNA9KH; MWO'31W]F5Z?=5#ZON]S(S4S\VY^>7XE$QR7KF.T4%\.%W4] V[-FNPQE(JRC MW2'T']M5G^_H#+/I6>L+7]3?Y+)[0S\6MT?H#D6=]"/U)G:)MOQS.R'[_^Y, MQO@)TJ^^+ZS^KD\'?CGZ??IIUP4,@P=N]^OQOM8+G\3<_>^XEX#N MU;?,E2YKNUMSJ]IXVOL996BO\Z:[_%R?K>^673ZS'G UG+=,]K]'6+4?SQ;/ M'BR,U):(A U#A#N*.'41N:0=\EXR38F@3.!O[BUPTCM<\'\+"D_;DSTT> MEORWC^O5TR88QA&ML2+!7^KL%F76O00EO\4&G8AF"2BDD(5H>[X=ELBRDI?3 M73,E^.X-\:)?->B=LS+[^W6VK,_]A_+'2P+7UUW ,*F9_F^?NIK?\;U/=N&? M.>Q+"^4488@&RQ%/W" KJ,WTXHUBTDG,[R0R;:#$ZQ"1H3[FSZA,2?F32&)& M5&(8Y\_=SE*]B<7/B^$GN\[>_6E[E.V&A=!0'1A+!*[*%C>,'(D.\: 8)A!\N M_]J60P"O<@8G^:+>=_'3U[/%;U?%,/KL\W4QD\#4CB06AP8JH16AG@HD5!I76CHK$.1)8%B!FO]CRT@@4"VFDY"&'2$\.*I$= MOWE@JF/:25W9@6%<*FQ#5BE$F(BE9VUVKUSFQ$R)3BB6?")DC$7 A\#XU[E9 M7#[C\P#[I"ZJ"WY*&CK'1\O+Q5?X42>?=S,N(CR#+842RZ-N7. PGW"I#*)1U(A1N:B0M.ZJ*N9N,JSJNS;G-3E'=B\ MPE%XXP1&6 >>_3D7D/98(L5%,OFJ4KBKC[]G7G79S?]NUO\LN4Q[46_RS!AG M>DD!NG?/Z?6A'X\\S;H!692]C.OF8[;K)FLAS+<'G&]**.%\#N03"3CK&"'( MLLBS;VD\-\PP;^YL2F,L>YQ4"90=68$XUR5%J!VR)G K@F.ZS-']CH]=<4UW M1.$PY]Z>V>SNO(EEN:<[L?#G;=E/4@XP+*NQ?RNU'&/-2SZ7@'Y:%]5MV2]% M+WEF3NO*]M=9\KC&C]T:\V.VL?ETO>NC[5Y^\CM]LK%7-_=P=_]\91>$8VF! MT''=_>?$(2U!9G_"^G("YW5Q4=E4DCJMJ5H[;-&]4__9U\R5IT_>_:54!9VN M[7E?1%(*B5W9_[)==Y5$]:KK&U")RL4"^/);[XJR-202%K/1E@TR. MP T6$E%CL-66?6NXL O#?XQN\Z(K BN;5_ZZVK8Q_-"LUUUEW?,!9B==$>%( M;HN!QA/?-\OWY87G M^<]Z4_V&:I.^Q*M+#K=3L]N8_6N1GW(S/&A:O#6%P][ MY-JR-_IJ5UW9O]=O@_;-^[@J^PG+1KMR81_Z>K>KW;B;9K<&FW^Y/M^>5\O= MCI1%OQ&[O]-;>8R^B/5SIEK /HL'#KR<94%Y@52*&G$9"=*DL)")-&+"98AW MF@?^_A-8>XP4SGK7_&4H8/]+CY*K;4N_U.?UYB?KS_YO7[\ZUDHJ%G[JML#[;N_O0";5MNU;'?PS7M5RY\^4%SNB>A_[JI!=IJ;_YMIM^TW-^:,G MRXLS6[W=Q+A\WNC?![O@[%5-_O3P]RP+V M<[,N70)^L9F[J]?KF$6B&]03O^N'\->??WE],HA3:;AR41H =,4;74%&V>K^ MO%F=KLNNW&[K;;[C;J?VIG1'^%#>6-H+U<7,U0_E/T4ZKK;I%*B5;3J]J'4_ M5N6ARUYVW9YU:K:.&1A=T\NN2&Y[?G$-NZZEPGG9I6UWW1Y*,<5ITX0V0[AD MAS)^^C*FH7S^/*[+[OA0M[$H76F&L&N8T36:N=&$85?IU>&MZ[$X[$#_GWKU MC]IFI1OL>++=-*LF>VYMJ9,:+J6\\75L+I;Q_RU/7W61Z:OR!_ONOFG72J;; MKC[4/UUU\LA&]$-)0QF@LN"Z*/T"\AO.:EQEX:&%:[GW]GUW5*W7#F M9XAA>-@%E7^AJP/_6E/MRF*ZGU_V_D)^O+[<%2C<*,UY-@ C [\Y[W&1_=SB M-;U>YPG;7V9__\]_V#7S4*/5SR\_^U7<6* M7I5PW=@ 6@KC^^J)$K7UF\'[EAH#=':-+$KI?/S0]=G(%S7415Q5M':\Y$IQ MQ# 2'94-^\^[+CZV:VE;9<:M8^?[I>URV3<4JJ^+0ZZO>U>9< O ^U=81N8L M=H2WJXCH&HJDLK6Q3*A"R'$X0[8OP>O)NBTXZKM4%# WZQ8X\ 8'OMIYU5>@ MN:*S'TMESV975EBRSGD>Q*[12EEI+N*F=ZXS8DZV'_/K>[VO%GW7 MJ'9H#M/DB16'AE)#&Y%!I78ZVD^'KIRG0\#S>NVWYSM"?K'_WF'"%%=\:>OS M=A\<6=?C:=DG?>/C0XN9_*N;.N39M"N4Z,KOXKHD-LI38=L5$?67(7NC-;"+OU/^+A<=E/R/YJKB=!7AG83KC2LN/UCJZ$@JK30**/7[OH;=;;N M-CWTI%L*23HBRI=Q;:)N\/O[K38=968*>S7PBMPAY+:.U6V[[48WTW >B%V= MV:Y33F?P_0XW79.<4JT\S-=\"?W MG954U!!^_:V.F^RNYW?'V']D-R;#>!:FH7S8\EIJ7- "6?KZ*OO^GN)33GL6L6='&COU(6C#*Z?3N>3.YGJSRI3V]W# '*>=O5 M*5!,,J"RP/2-?'80RH&/Z]N7E7');D=7 U<. >_QNIN4__UF:#I7A>QI=^6F M6>/9/W+ M$S6/_?7%=D%^ 7#W;?T\+BC;;WNV:_E5WI\=A_6V*]^]XM:[WK,=XDJRK"NM[$*, M;1R&^ZH,OKO6:V^K\_V:N]\T%.=??\6M:OI-#]F^&R1E@(\[<=]Y'JDBM5T\ M=<7[5ZL3O9F[/-^N:]I5S>55RX"^D=U5%+^Q'RO?9R.'QICOG@\<-:F4R+7[ M?]TZKD/Z#KB=HZ>Z082G>"KL5HGD/E[K-_/TAZ MZ6EPI;X7Q6]<;>SI7L>[,E,JUW5]N6+.X7)VK20OEM8/D[1O.MGIM^_]T)*( MR239A\LO5FD@T3=Q)\A#J-=[+.,$ZT-[07+E",5LH*YNIGS'=9>RL[B'A7:O M45YYUN6[3-W3^RWZ/CD>5X4Z-\W3TTV.2.O2"/+=\QNM$787T0UR"6ROOFSH MPUET;MEYC!0SVK=.S&[9T)YAZ,ZZ;/QU(J%S)&N_W>_IMVL!L^?"M?D3;;H. MT'L1[KH-[/RE 8.[_%A7YMX''/DV]F'B\S19=Z7[+FX^E!L[K'0UY=S:&!6B MTAC$?2D+3)$A$DH?;!>9"NIVNMH%C8WC' 7)..**!F2%SU]!!2?&L')\V^V% MMI]2ZO= 7QUZ\R;+PIN8O[DLE_2-KNW'?@VE?7'%93>2UA?9U;C*6B.ZG[:F M7]HD._&4];]_MD)COMC22>N@F$+^:-Z2E[>JZET,7U.MVR9E/LS;LIQ#WVZ7T&;0"O\6:F;-M[+<.A0QWZKWV*_I62!1CD;W]8N^[ M0T)RTFO@6OW36$[SV*&VG3H4M0B5N[]Y2XXN8[ MN@3+S5_)\4@H]S($*3N[['8%#2!N]UJ3Q%MIF/==PZMJO>MK55]Y=L.U#GW. M"\LTYY?74?;. 3K+H]ZUE[5=WSGT_-7?7OQ8$5-UGEHV\%!:78+^_F>R"_D) M\^XG#1I?$CMIW2&JN_B;:: SNQV^:[%K3=ZG(\H%NY@!OAIV#'1->\H5H?TK M*NW"NCOH.SBL8^:*(?54;N'J?-[;\6SYD..!]>+JT3]D*>/ MR_C>]CV,SOM.39_YVIL+HE=7V9YM-Z'YL&JO\BF[LZZ[.+;<;9=\JVM!DL/?MCJZ3DXO.(MTTN?[U/0/UGJ[= M\^C+QTK,?UH M"K?UP4&[8"_W34,L(Z[O_:"Z>:J;UI/2>UU@_.-_6G=,_3)#\XK;K;?*4YSZ0U>)O->97_7"G!(!)PWH4?YK?E=UHSK M+L<==PLCMH]F2E_L#YE\V]W:6-W&6S-C/SSH?K?D( M3=6FXN)N@[P;GHJP,-=LV?_VV:[Z??Z1;4+\>Q)*LR$0QO+P;Y:(F M>V_*C-;3Y7#EUV@8J&PX,:*Y&JHAD4&[0=D'^-"B?0A:;MUHW^B\7BYO?.2J M-WNYRZ'M_/MLR;)F^;D1^7"6$?#!KO.SP_)"=V9!OJ^^H?\G^?GFA.HL^'-T MZVUIWMC-G?PU-YKX][L-MEF+.X/9W7(&*EBZ[$A[6,Y+]?I\OZ7^MK/EN>WJ M/C)7 W(0+VEC=\P _9[T.?/[>[>%EOO$]^N[WN;OZ)TD5I+]?\.DMM-\O\.Z&!]C5Z*1:(XT75-7BKA@YOUR*[DY]PM>;;G6JSR_KO MN_#=+J1VL=_^=U!,>WI:N+(L2O4.RM,'O^RL8?L?;K@BF)H%, (GRSD14E]L]GG#;#E>Y>_?31%Y+'%.$FB E MJW_]YLD+"/!2NA0E0E+V.V^Y2@+!O)[KNT(;B/UF8*NAK& MZ28=2 8=4Z2[&Z%QCS='VH.,N_M9+.V\?';/*N]SUT"D0WX,,"7>DCR,*W%+ M**QKK*\"-3)$=3=!Y=NCP , G5V9*[M\$,Q?:H\N276!N=]9!_Q/6/()DO%(N;._9AV7? 3X'S,?B4S!R8, ]7R]8>BY)%D/A MSK%MNHX^WG!X>X!K,L@Q$-@@%7/V];=#[6#-GLLYOWEKYOJ/OH0LK30*DB[* M&O<,*7H_C69+6!:R"W-/;[B M,\O67Y&JR+.*E;3.246KO/C:*;L_X)1UZJZWD_YC&<9?;XUO)$OXU7_&(-*% M\PVZLJK65U=L^.5].ZA>ZQR@+_[4;()0<-K!\;?2VLL*M:&+:R&( G[IW$09 M"3=-1]9D$#0!J]Q_Q<: <&R__L]T3](].<$]<=;!\(Z(!G2O_8='^;C0JC66 M_/5PNF7/F89S;PV+=:%=E6,61P.G]8_",N[+%2 M^VSDF7V0F%WEUB:\X+)"'NGUL@Y4P0A1M9*(Y8HAJCA'HJP4RKDT6%)-E-BA M-;HWC=AC'JB14Q9]/:K1Q.C4ZGRVW-;OR0!.^GTD2^CTNR\D@_(-LVS^!?'3 M!8(\IX^!VP,/$\1(T%Q=6 8=$ET=H 0K.E3/K952$Z'B]O MZP'*%PUX4 ;@Q%@-=^XG"!P,YS M>-4 XPB,'*Y*>N4Q+P:\,1T!,!W]1-?..;I:8!&&DDI(7[@B6S >'?P)G*Q0 MJ[A>VC-^I0..>-8&!,>W@9C0)REV9^R 1-<.ZM%?6R"<@+WJ, M1KU7!Q6=[GVZ]^-80G?O'5-,1Z_C;4@@,_'<=/R%Q:AE455,F1)EC&:(8E8B M;GB.**?&J-S(_,LZ;;H8]::*\6/SSB_DS]>ARL.UL;>_/5;,FHZ\O,5#X=B="?.73G+U5LXS!!5? H1?G#I/KR@MB M_=.@U,7%&,#L"X2TEZZ]?8];*' .1/1_Z0?![P+O>*HEO\VKD?/H)U44E)) MXUC"K_ZS0_%VP!5[+AS=FO72@-K&OT>1 M7CC"WO4LUIVX.^<5JW&Q$J7%:M+A?L_V7894)O2NQU+G/$%7I! *2GIE^X-" MS%EDUME7I*IY&RK$!S9-5Z8?JH"ZJDKP65U)M+.IFG;FX'Z?EDWKN'#M<./W MW:7']X;WJ6T&B*E^S42?(-^L0WW%IH%F'U@N S$!%!#9S4>N;J<*+'+5I.R@R PL\U-^'$QHJ[*?>M'=YPI EM+^_ M#@>8B\"I%RJ(]>9K.Z*[[2ZN_4.XL+L^65U#@"B>?Q"0+A@<%OG:%TGU>(2' M9!3K2!V\H>J"-*:3J]-#]P"J)CJ*K:Z,S@VTJZ*#)>X)WK"-=RVI2W=H<(?^ M,3+'S/,\./)KL&;7$@KO?6&-ENM5'ZD=]KX'$NE=S"WM#^A5?^:6@0>['?(QFYS*S)<(;@YL M% Z;Z@D:YQ6K..]7P-F)JUY :QAOB +%JC'@#0C@WC"5/O_(@(UF?S'F.Y\; M:OF%#TCW&%:&3.IWX%"?7*Z7<-U# .Z.O.A0&NDWR6O=;IM< 2>\X&"M[-GD MO^)@H:XWE!A#A'QC(,HY7[IN7IZN_3/C@-]VB>9/5A\X*[XQ]J( -XBCX7!K MH.R^VB]U7->#8MV.&]YM$- X +D%].)Q]:*Q+#B40?.YG:"Z@=!1:#(TOW%T M%$O'MP+G 13%ZCQ..K+I^@+4::AC#2O7J8U-+>OF)(Q*?Z*:)LM+\^NYS_7WN3J3-#.A^UY2$+? M-(% 8M=)LO8 <%(MA^3XW4PFR-X:%WL8;.CF<>]\S@\'_'HS3(:JSW>E4TX^BKDRG98 M$6%_NM81-Y[=NO<&3_.R=^I^5@[/OEA;2PT(O<+9V312 A3M3.E-2,WN*RUSU2R3BNR?.]=\ M#NZVZ3D/@"B9K4(CM&\VP^NQ?@B^^!WH*>5-/^*Q=%VG[!O@U]$6]QQA?N!A M-9PSY"31,J0-^D?9_2*.'][DRPB\??EF&G;0KLR?/,4>1-;\[-M[;=H%C_!YL[DGM3$/<1XET0/;PLY=,T4 MJ6G!4:DU190I@1C&!E6*:"4IK91D7])%,5('_];JG\U?6N^AM5]-="OY):CR MY5I_]2Q5N["R\1AZ]#?ORNNX-BG4TU^=7Y;0DJICIK^=?,K'T %F 0+4^;6. MNO6O[][]$B/:[8!/);1K[#; 5W6VL?-:E*6._3=((^?WJRZT")3Y5@R$"Q]; M(CB?V 4 9ZV<>VR"G\*JLS+V?2@6WL>XH:M(VC/5:2=>N@'U^X,$)-T@0AHB M\I._;.;JZYP"1RN?RW7$\SF>#1Y'[7*G$-6*O#0#..Z@?8&5B[.KCG'&,:C- M(2H:4[^>OG83";/R;*:@LV:?HW+393- V&/C+(='C"'=QH44K(WX+\]=$^8_ MC9OI'H9@,[S3QVY"NPZ['Y$:L[6_1Q?-56P,U@@[.;WRC3X68$M.!]]NE\NL MYY.Y"][968#1B^!?JK^A+B 1EMFN+I\M)T #%W84&GF%AV%0H*=FRXMX)H(^ M\1O)BP#+M,N8#!@A^#>QUTTAD>C,\9Q 0"2T]W$*L'-\;_T,/ M*$&!?=PSV'4]OMQR#O(2G27ESS88V,ZN$ZZ-$YB%W9&#M,:&I N.Z7*F8<]] M-?7*6N>7W)]F%TZTEV@)=HY?CLA<&L+TV]>T%X/R/9YYVWB;&T<)V2S\L6_\YM- M708PA ?J0N^S;M:YW5KHT&_6WMCE#/+PD%/Q#<2D5S.;XL.S445@)NF(;&4% M??AG.8=$@N_5'DB-^-Q; ,X>C"KD@._I#I7^0[HPBU>/ %5;M*X>*-@>GK"^ MJ__KE)CUYYO.N&C;1OI:VYA? ;6_,5[ PMOBSHP 9V"[AWD 6,/;.:!X)2CH MX8QBMR2OA<"".# MXY\#ZXH5$#@ M=,FS",IQ7P<6P]+[>Y$:?6K_L=*^U!H(6;V+XH,J4*#F@@+=&0DF5P^K1#7BZ)PK3SNYT#0Q:Q*$*L_K;=I]:\&Z4\WM<7;TU!*,G M9F_Q(OYLL_@;;>/O=,?R'#H5J\D[" S95>%GDY^:34/AV%4. NS[G_?C&Y6> M6K@NK2^L^$09P8TUJ!&6O$:4XA(Q)C'2A!NF2-=#*8[T,-8T^;@TVL(QD]"":Y+=_^>6]_ZOZ]HV/\_=S M ;ZQA_NX6,^LV[JW_^39N);8JKW5S67HUKR$-!-$(";M!;!9;A"Y/:WF0G5> M0GMN^R@LZ14I6( M9@I;_[TDJ!:E+%AAM/U_1_'?K87Y;J'@/U!P=&5EB55XOT#B].:C??6?K=9Z M>D]^Q#'\]]%G=+:YWJQ9LJ>VKK,,C2T<'RUT;@,;:&87K%_-U@)Z3IX[A\67 M#$+M^.P3M#6 =G1KAV)S@=2E[K"^]K;/79L UP1M>R?.)N\W$,RN=W;O@1 ' M!#O.X<=\?Z5FH6]B%A-2W$'$A'SNQHX#0MUS*V,0Q(F!*!?&" 9;*'&R@_NT MYJZ9U%97XDT#,WC(M7@, 53W[R[:P7M16UA2E]MO=IC-9A<7UBX /]':!]I' M,WU26?+ETH'J?/38 QFWIK>9?(\MM>T'G3LW\I_KQF'M?#0?4O6N6*4KJF\\<'RQDY/[V_+>K+3^F\ORV E%2>DI"7B ME1&($JM&@!D65;5F16[/BL$[RN,^!FM4'G^#,_4W=PB^APOS;O4^'+R_PP$: M&*N_??BNLU7+OJF*BMML57:6C=M:G=BGYW94XQJ4E5V[U4 '6R*GNW>O;PXH^GN/>CN=10[)'-7 M+Q_5" &A&5@=0MRJ6>RQDSI3R86M>D00@*3L""+;#2QAH0-X++Z\(_F)F+1] MA5 ]4(>#35S8V9_;Y\#(@ C[4WM?1)LZ9X5"QEBU27,N$"NL%BV$U9Z4THJ4 M^AC>UT> J5KWZV<(]85F=.VOG2/JW;#D??6*]=#9Q;,]G/<86+^SD(C4=EJ,;1X@GM4(W^FKNL18 U6@\I/!(@6+WL MQJ:6M(OC?+NIO.H3S0YQ&]*G-2']G[I@H[,;D':#CK)> =*<3,:$=ZV)7) M])[?SAYT.<>SR<'%KJHFL$>Y0!:4[8 ]YT$R+C3GP4B' M(7I=*?.P6(6'F-'EV7R!A)?;9Y)=E! 3%S)":#C'>'R%6AM61 #8N96V+G%ECSP-OU4,J^Z#8= MH)6QOGAX&H6&-I=;Z;3.7@DHRT$SWPU@V142^9V'GW?9FXB%B:DR%SD.J;8 M9':US1O2X9L6R)H&%29@?+@&OV>3[_>TMP]E3<;56SO*J>CT;"V7[]?F3/NG M]FLJP7!.=(E,#B4@A3&HKG*%1%;D)!,9PYH?PZ_Y(<*I4R+I,^W(_1JYVH'D MPAQ>G=#SVMW!4"\!O2=\.M@EX)?.>P'NY++* M9K9L85VGX6^ QK(Z>];Z]$F$DWH!TN6D/>F#3Q=M1N<:Z7K1-RPIZ 0(5["Z M[28KXX<$Y,A=U<"^"81R"#OAFX Z\I4)OM!6Z) #<_T<[1M'C%A] M%6:J5* M73 D[NU25)M![<,8L39 M!;O51%TIK\NC^L)OO5TV!$(! B:A5 7$G^_I[2OB^I$35W+ED,3> ^BGAGWD MIR,1NE;7L= #- M/RB],[/9RO;QL6E_A%]?3,SBYBC % M3@R ^\%N#_F,L\F[4/\'KDJ .7C'H[NZ+9]KK\%C[0"''G70R.0R,/ %<$C/ MF?8GQ UE4[@Z=>\#'M/&OM0323J/&X:POS9OXU!UQ:.]0L3/651#Z$BSW%_: MZ$R/S6\ZBP:\ZR>O=:M%@4MJ4,6T0%34!G%M"F2RPA2UXEJ8\CBJWTK53S-[ MJ/WF?P_4;OI'$.#)!-@UX.-B=>8*KI< 0E[==&RP2U>>M%RYZ$US%>IE0\C$ MJX!9_^[W2Z&GO5S/%Z(W#B5@2UGDG&A4580ARE6!A(($+&-,53K+*KT#N:<5 MJ9B15@(8C!$M)7@ =888*4BAJ59Y5FY?Z=X5WKK=O[GY_F@5Q@ B@5HMWZKU M$G@_QW*,\K.BNU?;TG9,'J%5#X]S6K#$BI<&(YR+TNY\S1#/L/U#527+*I'+ MK-X^+;G**T/*'!6&V<\(5B%>%1J5]F\F9R4N-7Z1IX6CV/_%][B17G).J"6N*LC]<2& M5:USG.6\0C6MB>(N[#!XSR)2-S09%Z;.VWYZ2 M=P'K?M'W-NE,9"_GB\4:+#C'GKD3H3O+)/1+"Z&DU9 Z4O^AEQ+8(WLTJH[!<0T10,]@ M >*CXX1TTBX06@8PQ(9(H.--[8B[8"1:GTU^]IR'H<32\;:>\V4G'B&+Y;'! MKD2KZ81MNWG)#JKX2W#!D_]>JT].$&U:F ZP =T:^!F[JDY]X*3&4;5= U> M][N^V6'*=+6C._WQK/]M!S'OO//^TDTW6(C !3H)QL[:N?N6Z7AOP2*M5SH M#\Q?:*GG6;("5X@'#J +_KOG!94!"^/A+,"GZ]A K*V,0%7!\5CR11N:A'AZ MB5[1K)JUON^,>XF'C$82@WWK!/NWH==R_;46?+7>'('^"WW[+1?=A'4?H**& MGW(%9:[2;QG_ON?\>?LYM@Q1.]\'6Q/:'T$HV7Z!6^?>#G\SC-6ZB#L<$8BY M]]N-P)7HAO'&C:I[H;G7"_VS6R],0*,=6I7HPQVZG,?RXSZ?!NOM[(6#)^WZ M<<\NS9X@S:\+TISM0)H3H/DS@.:C>B4FUP0+CI%@.5#%%#GB-2^0(+F064ZU M%.087LD'Q[6Z5+]X>O%_!,[/Y)7LJ):P,DGA#B#LD6EE&MH@S;5/)^UE^NW, M8C!&VT@P"_;9@/Z,^P>B*G7ZL"%I)7A"+"H% >*_N9PMX[2>SU$Y4L\='/ M%@&A;9R.Z9697G1EO%U^S$D3.XHU1%O62U I7:1AMMR\O<\7[_J_N-&%FM.. M##9(JXFCIH&.'-Y'AQ#,TOIXWSI6HNZ=\<>A4-87? ""V65IL<0.K!?_![XEDBBTZY%:[U=\#6CB'5HLG-@,5.^RB50C-OU MF;7GO>&G ,)0R[D>@]=ZB-B/+*F@T;H=Z$677))CSF<7P QOXJ9N;=^U=O : M" +T>'=C&7-'_^[ F->AEU 'R>PPB;Z-=W\VT.?G;6E4L4@]\]N]*_S/DBI6-VKL0'Z!"!?,BUWR)!.XU(7.*8 M)>>A25I8S\ <$%IN."!QO[>$;\[1Q.X25LK\^N$WH!'OQ[\_EV5V[XT/?@)Y ML>$/CXU;]![8]O"+-XGE/\^M1X<^R/,&2CG][YU?YGJ"-2I TL-T7-544%1A MPC&$[2 L'A(?X? 3.Y85>'C^/2Y2_C=8W\E[OIQ;#3J[6(>^O]O?L=,QS%=? M#><$2[=34OVYQ0O%6W]R.7>K N*J+ :==MRJ^@6--(4N+#QOVJYQ35*O[/R5_GC;":P[,Q38.VV-V>[EU[MC9=RT$+B&9I] R,0&\3 M#1$3'LUQ$UM-?@]8^\%QC:UPV@,RT#,6=;7+AR!F]F!O,DLQB=7!1!P923N# M%*C_\J[ETO?>:8X-CAXVJ.Z\?P(RE]X5O.W[NZ+!09.E[I+!U]BI" ]),_:D M^MR4[VA^-OFPVUFH+PK]G1U,:6O@W0 C2?K6\'IU'\'TV70<VV'K>(9(NP:M?!=F_^82SH]:BB[6' MP^#2L)?.2?;G8F/=>G ,X'06/'+;M.M+,.8&(1G[_0OMV3QC&Y_/'\911>D< M.NM^"[.AW(<[$.E10IOEIPSS9U654:H+)'2E$-5 2E*J"A%99%6N*!.;@ M6\'P*L/\K,!%:3*,BHR4B-9*(49-A)DD6P>%P M6K0"G#]J]_AB!LH(:C(<6*_;"5>_"N:@T9YT8:NG&A3W>Y">0^\MM9EKW^E] M$[SQ[J/]9(>2]C53(1;CD+!S_V[/5.:0@CT;=G=8XL;^&FC^G#5B]__*+N)* M7SK>,'L*WTZ^R=[$./Q-'(W7G[Z313>-Z>2;?.O10PV0@TL*W^6@O1V78GEW<*"^9B@07'TS M>S,X2#4R5=AH:2/:D]A0IA]X7&E\9J+8*O9NL!]KKY>+O[X@+J-Z#GN]6I M#K0<;N!LMK4XG2P(;$% >1QY(GR/1T;&$+N_7H2MFAQ./[#U@ M:L7V;!MZQ_;=]Z8UXNJ&ZG':P!HALM?V[ M.Y__WFS31D" :*Y7/1,M("=\Y0E0)/TKCBV.&MKC=AK.;\#-YU:9@_/:S6<2 MI 0(E!!#\/OD4E$+*Z5<. ?Y>$[\;2+]/OE,3X>0SW<0\@DCGTB_/]_VKU,M MU]H;*-X^<7;(L/UGQ_UU.*B^['=+"" WJ\X^C*UOGGY8Z M.-*NC6B4VT+^K]1J/WA( M!FIMM]?%UL;WM9BG@]W688$_MD]J'APUUT9O0, 6M-[ 2YNM!B;L67P%_3I[YH UW[/M=HPTL62G@EOQR"%)2['<%0 MW[$*6VV%%'@&AY9U8_'O?P(,?>GM\0O^OTW7>)2WOV_Y2HZP-)2Z\.@?Q([/ M31BY\X'.)O\5N]M$$Q=F$IV7;BFVXV'130+&^SCK0_-R"W_(7(ZK,@<0Q;)= M@YSYY+\?!_W?4%S_2J_UH1L >X]FK273(M7 )3Z@6U[ M.[&ZW&4R]YH(S?) VMUY58.L.QQ-T-J?S;-Z:%UH<^!;.O3[9,33?'A @:17 MV1$M[-F Z,(^9_HSD3\?&!D,87B1.J<[1 N\8^@;,_#.CTQG<;L939=NA_O^ MV5/0<=_NX+6@LTP7X>D::@#MK_8-4KH7^X!71*KVS-.PR3/70WAU;M:N%9BV M=V(UB!1O8D;]PP)*+T:>.A.HF9]-?NW/KN?)WQ$(;[:LV<@S@0!_/9YS!\5J+.32GC/2@2O[7[\A1!EMCE"31M2)@ RU?T":;^ CED:R\- M&F^&C["YB[&?IMM=60=>]2CNP:5]IY,"! M.7D:P%!,Z%K56(GKT-P?MYR981.L@+^ 'X 0/O#VRTW#M=!1#3C* F([%OLO M9_;:N^JY$%^?_ 1*>NGOA4^/[XQ_N6H:,H+?;.V;2C5R[)^#F MLXK$U4 UC?K&4ZP%O0+_VM$L_]B>XKTGMV%NW=I[WQ+,9?!!7/? W[%5I/\" MWR#L=5[)N]!9=GU)FW:%+N=K2$?#1/80 )[SI0+8WG0RYZ)93@=]%D&.GVON M7]3ODA9*M YLS^=\C>F]@BE[\QZ?]53"^6R;!ZU&]ZRU_9<*.>#*T)%WWP7X M17^6=_K'W6UEPANGF[B (R]N/H'K)-M#LM)-+L[+E[3KV#JU3S3<32R6S/IF M-(?>.BJ!.WF=U_KNFO;7X\$ 1Z9KH5KS;HICJW\87VU4"&0./ XZAO:OHX/_ MN5Q/+_@&*[D3;O &_!UMF U]TWU+N;;%X# \T1LD=)IJEK]W 4('DW9MI[TT M\:MX'UR*>WG(HJ.I^HN <1W74+3 MD9UO?4PUVC.KRZ4.].:^19E'&-I_S>W %]XVL%)PVF]!?&[/(F3:-ZLZI+4- M^1VO5KHN8$-(8P=QCXA",RP?CA%)[^5X'H"?UP?E:J".?F AWE+?$B/E_ARY MRQ\C47'9MXKT?UC(QL?#8D.VC7-XVP3N'=R]?>2W1'=O']/G"L&^=.6F,>GI M1AF2'C?;9O D-K;;^GI0_4M/)! B@8X8U]X;L*B6MT_MEJS!9\3!($#NF]2Z ML?<+P6'AMF.B':/44*FXP?3*2D:E*28),WCJF9X.,T@29O (F,%Q\Q(<[[BX M3N!.H'?"T449A@0C+J*PD9.=-1G!W?\ $\17+#@RNE##UH'BN1/#R/K-EZ"5 M(F>Z:]+K/A$-LSFEJ(S@K=:8V1F.LR+"B-Y) *$#X"50QT)9 MW!:J?\"?-QPRC*U'(]I+0M]]<4";O-(HS-W=M0A7/="E:&0NF,MDS2Y"^G:Y MR^HQG=B1SUWLPGDQT&6A5_CBP8N=0[150Q)P*K&[A>\$O5[ &QVC8ORA-X7V M9&M\##-TC@H#":$BI4.ES(8#(9[6??U,!)\[^ZL]UWKE RN P@IM-R9<7?E^ M!:Y"X[)IH>'V'ABIT*99ZOZEVHQV&E8#%G.VV%R;WN[WL7:AFM*C@"),>'M6 M$2-\2[>6[=G]NKN4:MT%?E?G2^WK7!:NGY\=Z'EK#7_(T'RPSK2^$/;J$SR= MY#@G?AEB:K&?RMG9 FM[?V<7U'\\H&% )O%VL+Y!J5B@\86V^LS(6 M[L>9CJQR_P*$T=B\)+C2HQK12[MF@FO*=8E4D6M$#37VAHD,E;5F.:^D44IO M7S/&1%X82E&!2X&HJ@GBE%/$<5'694F54>1DUPR?U>F>W7M03M%#XLA:#O-$ M3;5M_[:#2 ;2H23G_36NMIZ5XIFL7:A=:%=97L MO(*M>8@X\LW9Y)>ME_5XU[?(N>S+K4_IF\WYY*O_B /O7FO?*]6_)-)?>O!3 MXX@8-X%EJ&6&E$&/3]LO9,JE]%?%LT5K[:WX12\2["&<("YK9PA.< MQX7KUUN,+%6X?;:::ZVZ!HLWVKKO?*:B4;X, 'OKA"S7(1T\W!:?5I72Y\\B MR^4>\WK3GW'3%O%L$J7TSINC4]1Q]P0/JT\I+O3J6NOHL@QXSUTEV)6/%H=( MN8L \XYK@+NRL1U?;2*7,W>#XJ6#/>\0L/L^X%L:/C6CIRA$63LF*I491(L" M(T:(08KDG%/!A>3L&-:J'HDO+; N6$=9F\^_#;Y*?FS/K 68DR,IU\WPF1'ZQ(7J[],GH'GWP[ M>6^O_FPU^=$1;4V^^=AP]^XAK7^1=!I=<[[C:OT%50S0KUVZ\1CD)/^,Z%;]V^A M$=BKC:\">7@^!.O.9<45W/9"07TS?,'?AV\S.>JOH!^_;KRP<$.[:]V]J M[/@,9*L#2B_T!G>Z( 10.P7;7X^M*!%W?5F&_6E-'_FW@2@UGE0E@G)#KG?K M];XCB]6"H!)]TKO7G-9NFD?=?2:6M$_9^>2H.]IAA+US<0?UL?>G_]=D\D"1 M\> DS0%Y\61Y&ICR454IJXG.,VUU)RXJ1'7&K"HU'*FL*FI:2RFD?,1>[-_- M6N#MM\)I)$IT7Q;N1!K4"D^?JOQR$_I80YJD3O%WPX!/OM=BZ11A[17AM",? M<1H(?#*K3"YF3G?-(NU6\"0V_""3;T!$NV;-];C.9M.?OSX'6AS^Q'_K/\T)"'GFH>^)QI4,!=+ M(+4 0-M"#:B9K.FO(MKWNW?_W]\G=CC3#3H( %A1L,\OS_GD@WLAC-E_<>^G MFV__SGJ= 0QS:"6L>>':/SOUY3W,S7@W.+A^#Q<[_'\"SFLMG),/7<16[J7( MQ;@"Q&[3%0Q26/U!6S_)/=ZKS//H=:LRURM(EL(T_ZN!G(Y#WG_0''*J5H)Q M&$B[I7(_.9>^HXD+;G) [3L-W "QXN2?]KRL?*&@,YW2G=K'7=%='[ ]W159 M6",YBZ&+[=/7W9C!7>F?8K!F_GMMC<.Y1#45[RK[?QSX_H F 7H87GK@V:Y*<>60FBZL8G4\9,+]%$.O%D?=ZE@\PJ+; M$?P,*Y"3P EQE]79N_.& M ]35S2$*$+98Q N:$" M4<(UXK(VJ,H-$T1B*HJ=L(O @F+&,L0J:A#E&B/.,H/*K*Y$52J3JV+ (;XQ M#C\V[Z1S^GZ^MFH-<(X_. '0K@;9BTMK/';I"Y3W\Q?Y+>F+?-RYBZ^3"M@J M&=R(N%F@+57^XNK%N8]W6K=4-1?@L\N.3,T:0PN/'N_1FT9XTQ;+5VAG\FG9 M7$/8TVSNMC<;+D*C,">(NF\:YA@VL'K_01BP&G*+Y(*G_<@.]GPBS6O( +R21]+.M!BY.+!W0"0AV .#-5D M-%R'1#\;L@L]\.,V2"M[:,^BD73N2L9?UF&EI"QI)13"=0YM,#!!HI 48:O- M9%5G16'*[<.J=54SSC0BI,:(:IJA.BL)*C)=PK8TPM M[/DNL](>=UE(5->Z1$804E+"-..[L"[[0R.D004VA97-A4%"JAK1JB)9@0M: MF/SDQYT^T]/NHPWOSV?:3/[RAY9KES3YV9B9])Y_D+TSG^@(Y$+QJ&^=](U- M8<4Y<'XV+E2SU(-LP"&_=]J1MDW!!>Z]]T_MGDL6R (Z$K+V$E+$#I ;^\IV M;"5V('H:>D[^[M+BH73-A7[<8VZO'3.)^QF$$IOY%3P[4&1 #MDU@ ].[\"M M[P5^II#Q !RR)Y<_#U#?GF,."9C% I9*0.-0\.PNYWR1S.RAF>TDZBZ.UX4P MH6&RDZ[.,X,]F4''@KW>_);W#F\=U2U]8>!"HRFMZE*@D@MK5&-KV]0*2Y1G MD."1DAF2[=@V2@G-666EN]42-"]S: M&4"X$,;S.:E$/6WR]]_O\OA^T.1*8 M,&$)'S*H,^ S;== Q11"H%OR\5J'IA5";ZYMC 2N1S672QC7"[N5N74T5"4% M*@0TWLLH0SR3TMI4%2^*6BA6[MQ*(8FFC!!4U5P@*G*,F#9@AV6,"X(-KH=! MLTV=_"/>S_RY8.JM4AK7N'J\[/NCWM;,Z2M*_8<=MFI[J:*SP>_/.< S)LVE M*]MS)I^'YCVX1B>B/JP;%$FO>R7>/,!;DOY^3$F12:6U(AAA+C-DW2SKK)DL M0R7FJL2:4Y:+'4G!2%Z5%".=04$!EQB)W/Y15;@DM@/ *1Z MS1&'T# G]A#TH=YM#K4/'/;!_VHO/FSP?0.F\UY,C[O/ RAYW?_*KF.5;XS4 MAUEMXG(@42_6%[WV5J'6VT1^MM6UGE]IY*1W[#C8%_(]EJ'MF4Q[K7P=BBH4 M$/3:T3C[^..>S[H*?>'?#VUL[%CMBKHF'R[AM50N:>Q6:>8JS#JZY&89/^P8 MK95K=GO3A/1PC'JY@<_,Y&(-")VX-Q[W=1/S#5!@-;(ZJ%L!UZ\76GV@XL@0 M0P F712Z1E2) C%1&E01+ TNA29A=(^/6[U^&[]R0YJDU& +-ER#=B9T)&NZR74ZE"I J6K MKNK5I7:'%KRQ;D2'B?1=\1SJ=K7J\2/!YRY<)LOIMP%-<"8IY8F_@ M97>"#@1;[K$'CR,Y1Q8T,46I*%,E*DHND96X'-6ZEB@KJKJR,EOC0NT(YE)P M7>,MP_FS^$/1P*] MUQ_LI/_T"^_ H?IX7(F*"GL6,V;/E2@I8K5BB&%5YA^47V\.XL?Y+D] MC7/]L_D "0/PI-XMU,?@:MG9_NH16,"YT'X$//XA(S:VI='JW>JNP_^?;"PF MC;=A.IJT-BZ&QQ)OE@-%1%J@Z&B#8]N^[8S$;4]L8SM^2$U9W7>' MEOK_A'(*/X!@<((O\):O5\VWPIE=;K7M50"/ 1Y'UA)JUJNWCF;R6[]R&<9G M^.OX 2A%!OK+M['3:;1E':^V?_=7&\;651=X R?=([G?QG?T'K1/JLY[=%_+ M\C."ZZ]A/?Y]I3[S8'96T>PNS]WE&7)6%P]ZE_W'K [,57/[^ M:6FED$+A.ACWOV^O[8+[2.5;'Z^$'^R_)/;TKJ#O5W @O%L1=RSZA&?%Y6KB M0O>3>./NXHJR1XQX?IG/QQYX^;]QF+1FW4*^]LT@K')@TT^R1_XK,#GY+MWB MDSQT&_:$I;>7WRXV_-;902.X+GO6ZH%M20DM5,RQU6W"Y.X4(2ASEP MR0 81AX$>W,J2X)HU@:Q 2V'[NBVG7W6K^1*Z M+CCZVRL];RZW2:^>W@LY^7Z,T82Z\^*^9DY9L:\._2AF4A)D*<#TS,RD#Z%SN0=; 7;*_BN%F49G(R4/[$E7 M,=E(3V@C84Y+7M8"J9)CJ+:F2&A$*FD09A#4I[/B(0'6F*6*82J$SJC.^VS2JR%6I MA$(\![N*6I.*U3EU025A=%4*LD/B\T@V4KD/6)9"2<_41DJAI"_:J$CHM MD M3\&DT1E*Q_'!C@.=>MX2Z.2XC%W433*VCD$X57$B,H2Q8(@"SZ"HK;'%L2&D MTH;4V2Z99EEQ61$.7;LX-)HUJ*X%15H54F6*%)*<-&_'I"*E)B4R#+IM%M:* M%!6V%A#4@5E%:R$G;V)D,TSW,D2,80(;2L*2UJ(7>H*A[)V)H6 MV3UH*D8F#N^%4GS> O$1PE;]A7*?/ZI1T =]N[>_+KOM(_0@3[<9EHQW$! MAS(I/\M!**EF#44/HS'27@&LZB[[D$RXXS8DKX12N4:8E94U77".."L)4M20 MC),L%V3'W-'<6FR5*%%.BA)1Q@M44U-:UVSG%-A=F. #VAI]TC0JREF;-P1L\]>TU=JQ-F_0]&;WZA^ MQ5WL8)FHD=ZM#I%* Y\E7_A&V\"J \:6RR3>6B^>N">/HP=TKLJ2RA)5!EL] M8'!MW?*2HE+26G%N'7R^X\ISE6>2*8WJ7&K[F4HC08W]#"9990C&I!0[C0(" MET"H#?XQ]/N;Z?:]9]UXMU _-8M P7$DZL;L;.2-GL;)U.@Y45Q#Q5"S;.7) M?![Z"%_RF8I\8;#Z0*$8B2)N;^C[>OFECE?E+Y60M+1F6Y950.#.:\2T-7OL MCVMKB"F>BYV\X+VK_-^M+GY9-I^6_"(Q3X6=+4;(//7NX]^ 7PCV*36SV&K% MNS$Z,NJ,CMP9'68V!\(I6#;7@W/=>H)%SQP(";HA)^,B-LU2D+.++2YZ9(S0 M/^C"5ZQZDEL[1,?);__KB1<=*^-?OGL7V!E].ZY PJ@=W^">#P*MU4([0D+7 MY-*Z'*U78NT46LAKWZRWU58T+_0UL!NV[1J8*(#[MF/F >Y$Z$^_:N3OT#3& M([7L^.T$/D'#2O5X)5H#4K!F@*0J*.$ J-*Z9R(2H M>+7#TT-%5'/.7I-J:#K^7YPN[CI]F6996D>]?7UXH\;06]]1N< M,S'YYK(\DA1NFK>? MZX6G=5HVR%[U#W9[Z4CO?Q=D/F7O68M('Z[ M+M:A>8L=@N>R[4[M/OD]'+(C\.TX;JW8;D)W:+Z-_F;CJ WT!A%GEYXPDY][8YH?PWLTES"XRO7 /W<:M!9 MH.>%C\#>\=FB#;2(P/8^[%?60E^R*[W@0"#L[[S2%XN9@3;P\/T;DMYT&0:7 MX;?N4/2DJ#-U6FMF)C;).Q@'@M9*%:9 -8$PB"858HH:Q#.=P8G M:>/S#%RA@:J[ HM< 4_CJ,;^POPLD^&J+*UCQ4@-Q+P2(LK*'FY<2WL[*E97 M.Q'E(XI2YW;MOP!?$$C&9]7(+\ H(\F'Y'NZ:\>Y:Y7"0!1B[12CK>;0PMXU M+1@JA,Y,P;#A9J>_UA&US:/<-5*XQW;>I:,P/=\!7D3+^!F$>,04Q= MA 2:85EU:#6C;SUH[Z9QY-[@%J:$ZU.%(5695[BJD('T"Z4%1J(6!)6FJ'(E M?[]L+N!^ E[E9].+3QY/-8Z\)_LHKVM2C8_=?K290%@K#A!<:ZDJ:56:UIDBAI:" M[ !3'E*V\$ZZ/D6M1]JNEESI7[74LZO/M>AYO6B_,J#])G'=H-E/6"T74+F] M34_VL .!<\9UD5OSAI7&VBLE1J*L-*H9+0GAN13DBWJ.=E&]KI%3G.)/S4JW M/S9\ 8?D^]G"VC;66'[P*7EE/2[W'!38I7;6 B(BP">ZIL9OAS+%E_ \[W9+ M97U6Y_1.[98HRX_5;BD[*XH2;_YWM#Y.XQMD:A#UY/HC-8AZFEU*#:+" 1U? M Z'37*#4_.D)O.9'O%:CH"Y+$BM)K">36-]9L]\+K,R7&R6!]4P$UJC(Q,=" M^W,ZSB4(3?62GKK7GJ+5;*25&)40B,QRJ# L2@5REE1R,H4A%9D6V]E3!*< MRP+I"AM$J])JL*)D2-55375>\:K(3J6W2#$EY>&:G%47LR%C-#M25[\Q90Z2:7%4TX)43%M/&%55H1"M)47, M% :9NB9&5T6.ZYU*B_NXQ Z2;4V*F?;B#2HM@NS[Q8J^V6V^;0 &DU@ M3M1_2-VZ4BXQ4[(NCTNX4FAM"H;., 2IA5B*A3(;* M&IN2&J/JK#Z"Q^MDWZ^=Z/MA\1$OW_OG>^Y.O M8U)-Z8@FU?1TJJE4O*"Y 48XFEO7-R>(%]!KM\@S4^8UX]E.,/8!KN]3J::, M3AD]S"^5[OW8?> 7$\,]72,3H%)/Z=U16Q2/WB'['J6TSUOVG+PT9K>F*5DE M7VR59%E=:V/=9"HDT.OK"C&9<91;U[<4O,IY=A34=(_BQ(G-'A#M)[UZ?TMS MP?N9)N6H(O/'*O%.TB.IP'$>XZ0"DPI\QBI0,)IKHPM4511:R5G_6A@M$=$E MRXU5=7FVTYS\(0#LIU2!^;&"QDD'CM-[#Q&3_D+913VN!NW37!61X.O5>/5YRA&,SIQ)L<*4(WBII@AF&5>5]:R-T)"^YC6J%85$02;K@A'*^1>EKZ,I M\IBF1U5.67FX3TRZ[,_WLI]\'9,^2D&/.5S2)3! SA:?)JO&_WT?-_N$KR:[ MG4VGDPM^,Q& G+#GVOYEWEP#TQWT8Y]DU73R?_\?0K\=$KZOEGS1^GO3NE^? M[8N5OB>Z+$^M?FPOM5W=*SV_F4[L2.6Y4Z9JK2?7 ML]4YZ-QS/5G8@S-97>NYU;47]MO.V[.^D6)-VCVW:#M0\J?W5NN*Y>Q/T];: M7ZBU]K#9G.E@($?MH2M3J3Q'>:4)HBS'5GN4%'%1F$)4BF+!MH]T37DM.<]0 MQBN.J*Q*5"M1(54I0BHJ!2;5[0Y;/QW\WB%Q?VS:]B/\ZJ/]KC_/&_G[5Q-M M#_4E6&7+M3[DV!S;2BMC"F^<=MH[.$8S:UZ',\,/@YKM\5HZ<]\^-JK[LY@M MX@&?Z 48G7NNTK6]9/;_3 ,3;-_V+D+T_9SKMR\-R]>K)KK+,"&["&!\P^-H MSF^:=6"R_]8/+L/X#'\=/V!79&Y.SU3GK$B?]#+;LG,LQ/4 M,AP')':L?O%'R,N+9JZV1O8@C)(3#LW::@#5GA@C>33(RYBR$7N5[!>D).R: MPV__XZO\JS'9$)\C"?Z M^88#F=&\%K1 NLXJ1&F=HQH+@DI2EA67A>3544@![@:<'R%B_H4(AB?-9Y^< M).!UVR,_7-AO68$%PE5SZ2Z[_?ODW8??K(F?E2@C.Z;*C>;+U)KS.1@JQZG@ M.?GE>"ZK^ Q/[:L4"7@^"C89_&.J\!CCJ7V^WCZ6.*](H5'!>(9H)C426E-$)9:*Y$4E\IT& M,0]"2MS)VX?&=G;7']S'?1?N/B5X7&CWER\&DM\_&G.DEX?0"_6E&8B7["*- MP.[PF4XWM3VIZZ=A[DA5?:?:I%3T-S++2/-:"T4I$I0[D)Y]=TFC+0Z7^I;$5S3 MR;6&JK?0,[Q?R[:+K4[5;4^@6V2-LT(K8*,C.:)4<<09QBBGS/",&L[*G9YT M5A_5H@(&.U*4B#*KE&IJ2D2(R'-EF":BW-8M7;&-U2VN*=VF).%HI3;T[' W MF%&G2&!1(**TU=UY M5FE6'"/4\\/BRLZQ6=Y\-VNEE2KKY7U+7SXGPK^D-OGX0/8'[W]U%M1Z7*V9 M;G?XY>Y6&'7'[:^LF53)C"!:%';[N<2(Y5*@O*"T$,H(PW=(+!ZR_1_DN5;K MN?[9= RL*$J\^=_1JI'&-\A4Y92JG$Y8Y?28NW22:HM4WC3>\J94Q/1L MBYC&T]\B2:PDL9Y,8NUP:R2!]4P$UJC EV/!F)S,?_Y^MIBUY]9E_M0TZH'= M#U_,+HP T_!2053C 20DG.6SR/AHPTO#I$)U22#XSNS?1):AK%(94QFA.5'' M0!-T,=S.(U''],]M69((\!H4T]AT<2\1Z-J9)Z#A_' M<#)91B0MB+5Z!$54X!HQ7"E4T*)F5,LJP_51G?R_\_G:]4#Y5;=Z>76TLLF* M'G0!-IX*@).V%TXZ>ORZ(^GHI*.3CCYUZ04SI<:JLF\S!M%"4L0JJZ-U M5K*B*K,LPSME?5\4W'@L'9U-28Z3EGY66OH1P +]172?/ZJ2[P/)W=M'L&=/ M*$(^0C%CTX9A:ZHQJ<9,^3/HPZ<,=?9CGF?/B426! M!9%IB7@&5 L2,V(U9:6K[*A!@>/IPXQ.:SHNG$-2B+O>_BV,/0<9(%Z)[_>@ MJ;X0*@C6#[#NYV[(,2MKDUM94]0%HM0*'):;'!6DJ'5=5 K3';Z8^W WN!;- MORSU)9^IO_QQJ1>M;M\ME*>,\>0-[]I6K]I#[ WNNV>+M5;O5G<=\/]DXUC_ MP,01IN^Q,3#QB?0SGW W]>ZT;E_5P2%VM]D^$=:#]Y7,7=?DJ+0?1)2&Z9HB M45G]1H4!VH\\1[@J"1:"2L/$,6@_OM-&V^52[YMVU;[GES.@D?J75F%9XVGR MQ^C!S#"OC [DMC.9.$+V/CA"^HUG,(*9TCQB0M*DF*C,LO@>6X,+\7?]\%Z7./KKXZL^(X97@G7]KGLHK) M='A"TT'G&585+:W5H&IK!M0,U:*P5H&P^K]0FN1R!\+VD)*3(8HM@->.9$3D MTZPZW.PLW?7G>]=/OHY)':4CFM31$WJR)6>BYC62AE*KD\H*U88(9 3EA!-6 MJFJG&]Y#*CX>4QV1:7$T.N9TUU,J]_GZM"O^QT,=VA>S"6.T(%*D;$RIG&1! M'-."X)+D&.L:514TU=6X1)P6&!%9EJ4J&#,8']&A_0@B[EA^;)%RM2_Q@I]\ M'9,.2DSG8%U;M+?:47:YWBX*.S(%)L+,7!7ZH%4=:FJCFN M4%4:C*C,%.)USA&E6N7:&)ZQ'437O2''?6Z(G\VO7M =R8ZHZRJ%P%_@-3_Y M.B9-E(YHTD1/"!"JM:J8-JC&VOJRG#)44U(APTB))2&T/ *V^(B:R!'BH'_I M90.G\8\<9_3;I(F>K4?[8F*P)[O6']9+O;J9."HG*PP3*AJ=8^ N\ MWR=?QZ2"TA%-*NCI5) BHM)"<<1K(,XENK(^+,X0%S5F1&K*^1>ABA]5!>%C M!5+3#4\)V>?GOO[\.<[O% (?B_EPG-A8ZK;[5(?X>7;;?;XFB,ZMOUL+B0K* M*T0QJQ&KA$:ET0;CDMC_.TJ=;8_-_[A5371:5JG[_&L5%R=?QZ3STB%..N]Y MZ;Q*4CMFN'EQ_:,K5'%344.LT5,>L](X<)4,._8=V=XA4UJR4:4;4M/: MT>G)U,4]ZO#,C1\G V:\0IU6.:(T+5#-JU2:M!><%)D2JXW-Z/:J> MQ%."CT7QE?3D8X4&NN;N3]*S>##WL74L?K>:['96G.YO7CQ;R/E::37I-T _ M^0S^;=]HGJ]0%+IFN#(5=/ &\EU>(BX+*^K*G-197I+%'8X7#J*4S2Q M3\_MJ,8UJ,9T=\TNGFF:U:)9:7]2?OKX/U7!,U-9M6E5HCTK-2\0QS1'N?_N,KO4"_?1B+Y/EF]F;")RV<1&0/X<74RA=_&)'P MIW$RM\=QLFKL8S(\,SC'*C5:D+K#BI1[QK;MOL/48[VQ4W:<*5DQW3B=6 YW"([0#E^80OH=_] M<@)#O%PV_ZOE"@19NUJNO00TLX7]'+P*1,35;#73[=GDX[EN]81?6-O(*B%X M2:NM9K)Z2-STOM/K*+Y0]HPH-8,7\OG\QIZJ2;/0$\GM2^P'>/P6/I]\6O,E MM[/09_O/DK,AO-3Z:6V_9";MO]7LRO\4%F6V6/,@S.#GUKYX0COJ01TSCV=> MC6&R)[L'6;FU$N==LNF2?]+>8$?P8P7TXD]F-PJR7<]E3>U%E+X>O]-H'3MHO#+R_DL?-%DS@6\ MN%G>[+S-C?:<7]EA3RZ<9]B>SR[A,>ZKA=TG9_;W5OU;W6]5N^%R-I^MW+O> MPZ)SU9Q-OEL[N\#ZDI/%S.K@"[L^Y^U$+\")W.=VVG%;?Z+Q@U=A]& HVM=^ MT)_6FR&Z*6V^'T:L])6>-Y<7X+%VXUF=\Q6\5NA/=@76+8S'O@R&M#J?+=4D MK"E8*3 &L"_AO9=S^]7^5?:;X/%[S'PZ<682?')ACXH_ V[7?EBH&7>C_="L MK6WTSECYYG]@/Q(^HR\NY\V-MGO>= .K:L\[M5EOKUXX6CH<]@FL[@)5? MYUEK?[AJ[2^D73QK-\-Y!&]KZ[E+.^.%W=2I/Y8Z^OG66%*-->U6D^;:&DW+ M<(;XXF;K!6'.8)V-RU_J"Z&CZAZ)I92"6,51YPI1Q6I4:ZM1JCJO"V&(%M5. M2N]ANL>N.)!=?(0 U3V5SK$E;!D1*>.4L3^OXPD-+=*<,S%K5_;PV_L!=];8 M.]MMMH''T9S?V#OFR42^]:/*,#[# M7\JWK;;WS$KNN*@N>._?_=4^C-+5K)T))TK>QG<>X.S[ SBNF1WI7&]1S'=0O$CIV@!FZ/?7RK437T\BOGSX?&4GBZYF(KQ$:QL>I('Q,:7B:*_>-BP VZY8O5/MF MM#=L)'LT HV5)XTU(HT%=TD9+42E)K M/%N3;*TDM9+4&MEB)ZDU5JF5;*WGH\^@ M\/]%X-5?'V'V*RCJ3P7[QZQ-+73%*EJ5J-!0N9;5&K$24\2*HLZ-R?)*F6T4 MK.9U+2I1HIP4):*,%ZBFID2$B#Q7AFDBRAW>OD'M!I<H.'TUQ5719)"(Z99C7*EC";"U*8LM[54P>N,Y:Q$."^LEBIT M@3@O#9*\$E(S0A6MGTQ+63\P::DGU5*CZJ7YNI..'SH*OB_..CYED=ZKLRX> MO5'0/>I-GK?P.3D$91>>_0@+\E33[%7*BS&* J2$DSG.BG!YZ4$!2OJC(L*$4,HHI742&22 M(BRKNA)"2U/NM)-^2*;S\91@GI3@:Q468Q0%20FF0L MMTI0&R1**E!98$P+1C3!.TKP(5G31U."A!RKB512@L]-6)Q\'9/&2X9(5#A'65:5QA!3X&(G]OF0#.PC:KSD]HU/6#Q":6A_ MH=SGCY>V[7.XNU>_KCSNQV;%YZEP=,QF3.H8_9) 9*EC]%.;.:;&)<>2(%54 M&:*9THCE0J.:\)*7655KL=,"["$IWJ-;-XR,"E^6FD(_I9P8HPQ(VC%IQZ0= M7Y9VU+7A1!,%7*C2?] M.$)YG0*IHSS(21DF9?ABE2%1%:^I=14QX];MR[A&G B*I-&9-%QE@NZXB@_) M%Q];&;*D"D>I"K<3Q:^J,"C*AT9X9N?P8]=M+/MAIO=-Z)]GR*M<^K7=: M[Y>\WDFVI+.>UCLY0$F0I(.=UOLD50[//*)ULFCUK_JR6:ZTFLP6;U/:;=1R M/^%_1IKR3.N=UGN\ZYUD2SKK:;W3>B?9\K+6/JWW"UOOY E0?(B#W9:[T=L MPM!?ON+1V#V*5T?N 1C*26,F2WVE%VN=EY@PD2.9 M5P91S#EBRI3(J%K)BA=:[>JKK"1$,\917=0YHEQ+Q$AF-5?.U.^BKIJY=UHI^OOLKR6I=&$.LK28FH40:) @O$&:FK M,J^$ECO4SG5)&,72(":PU5)&9$"1J%"FE<&EU$1I_MCZJLJ.U5/WA=S\YR(_ M4_#OU1[1I)R2F.,R6QJ3 A M0,A+$&4:(YZ7'$G"I"A%S25[=.54C*S+W,EO_K/*->YI)9!RC<<$X;>:+^7Y MA"^4O517>MY<7MA?)3S*Z.R.X[#8G'QIG\LJ)MOB"6V+0F69JJQM82JC$,4E M1;52#'&15;C.2"F(W+8M2E65]ID*$8*9_8S)$"_R FG-JA++K);EH]L6V;'B MM.ERI\O]_.*TZ=2F4_M259+,65EG-4.9(!6BO":(USE&I28U5T1GK-CI/\-J MDS$JB%5>18$H,1*)2F8(UT3J F/!\./G#K.DDM+E3BHIG=IT:E^82M*FPEI( M@XRQBHC6=8E89C@2DC AZUPKE6^K)$FIMC^O$::4(\IJA6JI%:HR9@J<&6(U MUF.K)'JL[&"ZW&.ZW"=?QZ1_TA%-^N?I] _FF$-L#9F"9X@*29$P.4>JK@6A MLI!U9G;T3RW*NBAJJZ1 _RA" ?E/D-"9806AG(E';ZM"QM61\^5?[E1L^&P2 M@!_T?#Y;?'+Y/SOFW_7*_BNACD9G5R3LP9B <FDJ"43]""(JIU;CT> MJXUJCBM49T51DE+@VH@=0$J1JU()A7BNK!JC3"-6Y]25"0JCJU*0_+%54IE4 MTDN\W"=?QZ1_TA%-^N?I] ^M,ZEDKA$1U&H06F2(RT(B8C2HF%P0LT.F0JB0 MG$N,&%$2T4Q:-PK;?Q*L=5'2S*JE1W>)\L3]]7RS?ZG\[U%O^E_U0B_YW&7_ MN+)/S=K5DJ]F5P]D'4W0HC& 8N[1QAZ?01?[MIG/U"2>OY,O_G-9YUL.\>TK MG0R48QHH%3?<".L;5QE C:0&XARE45T4+*-:<<9W*C9T67%9$?MX4=@_2FY0 M70N*M"JDRA0I)'ET=M(,CPL?^YESZTT@3)*,>,$ Q:3[TKE.NN]YZ;Z:9Y)3 M7:-2N=QC55N7FY6HS*Q*+'E5Y7P70E,*6F/&K"_/B=67I49"6GU9F()8=5A+ MGN/'UWWC*E=,NB_IOJ3[TKE.NN_YZ#YL\DI)JI'4F4&TRA7B&F*Z2W_=:9<3)US$ING2( MDZ)[7HJN+'!1%)*@6BIP\KA O,!6Y4DE,#UZ(2)?#+EX@R:^+4U)36C1=YK@S31)2/ M;MVP8]%+/($$>47VS>O%F";MF+1CTHXO2SOR&I=Y7G%4X!(CRBN)A.$"$:EU M8=4FI7J'^T_D5"E!)# NU8C64,1:9W;G=4DD%[BHZL?G2& L:<>D'47I1U5)K'(L@+I2FCK![(<,5,01+@H**U%S:O=QIF4UY+S#&6\ KAP M5:):B0JI2A%242DP>?3(>#;%;%SEL4D_ID#J(LXK@;*R_/_9>_/F-HXD;_BK='C7LW:\+$[=A[R[$;)L[WK#8_FU M-#OQ_/5$G6*/032F&Z#$^?1/5C= @@0I'@*)!EASV"#09U9F_O*J3"Q5-#+@ MC481PAJBJ98(T[P/1D0!Y\B$?(Z[1LUXX.:IP5 7*!PE%*XGBN&SA??_S]5" M_;HXC6WMX>]0G_WGO\,_'O%8%XR\O-IJW(%W\%\FD0O:(&YQ1)IB@Y+D7(FH M4W1Z.T9=U\7X=A;SSM?IAYZM?ZFMJR?U_/PO=KYHX=_O\VN_AQM]/VG\'U]5 M$5A\EI>\7<3;6( ?"\:^_@P?$'K7@EUA!;E*>P_,\/=%-Z_3^6ARU#\M@%2Q M:N.IK:>YIW"S(NDR<3VSYWFV:-4X>'Z;Y;NK/D8XQ7:@&2:3YF/W:HT)5RS7 M<]Q-=0!V,6]64IK?$.Z4Q24?CB;VO%G,X0D_11#Y_FD)QL?XZ]4)0*:)G77Q M51=G%AXSKHC=H\%P[:]NJH\XJ[MZX(U7JVO<4BQ]WG&'*LJ7G4Q>ZH"]$/+PMYAD*S^VAA/9["$-=,PK4G>XS$?5-/J_E) ML^CL-'3?CLG.>WQ1U5.NTAW>SF.7X1[.#A [__H?7]&OQB N-]#IV1;FTL+? MO0"]B[-Y/'6QK1@^^G?75G_^3XHI&[\DC6\!=R);3]!J9O]C.CL<)I\M/^#= MJDG5X^7H8!9BC,&U QEA,^+ V2%OC]WCH)C7E#%AD;8AY!:J'EE/+&(BCXKG M7B49KP<3;*#$]QUDJ(^()Q61XXDCB1E1B6',I'M0,.&WP0'N?EC$7^$V[S_& MR5G\"]SSI-M6N04QH]IJL7-%\:S1L2UMH]A_Y-N9\(/5P4M*;W16QW8"\CLG M[;Y0L5@6SVA9$*:5,,P@IHE''$>,7-08T:@)H4XRE?QS6A;_)]KV_<=F6TDY M,J[ZS@LBN*>E"#%H5H4)%CK3/1(2FP1MT$@J[A"1GE,O=(TA8UN34]N4=1GVXI1 M$#.NEI6'KP1*C&),%L7[DP@42Z E2Z1B=';%4VQO+'VR1[(?H]@F7VR;>$.5 MD-PBI[U#7'A8/HD=BBD9[HD7-FX,A'A*V^1UUJ/;-E#DJ"(>I:7V$T5%U@GU M99./;T#4]76Y*Y$449G[10'JD11#M52<5AH(:5 DO!2YNPV!Y/I@ZR0+ZJZM/98AY# M56=%&LM4CQ%:'R76,C(Z'V2L96=ZZ)O5:AV&/14-5M@8BB@5'G''&#*.6N2] MQ@8;P3Q[^EV^?YV&NO/ W*#:?_SDX=#7I_FOK45^5 G]C+%?P*T-F)XX+-2? M_V2V67_U$:S9,^J6W\ 6RWWJSNQD$7,OD^N-["9+4:]C"1B-SV1[BB&1I7_P MKEB\] ]^;B/*))XT$QP9P5WN'ZR1PX8@9V4BS#LEI=V&$76+^;2U&!06XZKA M*?V$;S:'2E!J_)A:8DQ[U@/T)1.Z$'?\*8:#\8!V9KR]6;1M]E)G3=L;;Y_Q M4\^+ESHZ770@>N#O;*!CD839)_%4KI=CMHS-$2H7# MR.A\D!4.^VNP*(4-]BP@0R08+,[%W#:#(LFY3T(1+-A3&BR_-E._59N%'#&" M2P7!Z+1'J1+8+]NG5 GLM=E3J@0.*493J@2>VRR205%F#$?)2X.X(!QI$@AR M4CL3.4N1I^MF4;">DQSL<5H$Q#$850XGAZ1WDD6M@E$;TUE+E4"I$KACZO"- MW\*I+P7U'O6J#YP]_,034!]-C.S*7%:PWSQ(.CFNC"+]%&B-.-<)U(Z.2%%% MN99<"[+AP3UFD/1O;38!Y^>_3>QT_GH:?OS'HI[EK74_U)V?--VBO76"='_W M>KJ(X?7\OH_\?\DXEN"XE]'5RU=V&JJX>O,^#GC!JM?E] H'?\GL\"7U[/K MK_M2\.;[DGO==X/5;%".,ZF0L5@A#HR" /-RZPECB Z8![R5F>6WLMIM#%9& ME \^VTU,FM>CJ[N\$P_N33'AO)[S2/GFFYO'KD0$E_^ M9VN#SL?WD&6 ^K.;#V6 ^O.L4AF@OAE+&,G\[1$,4/^"F<_/*43C6[O=B=4H M4NY%8Q6-]6P:ZX?HEPJ+] J+%H6U)PJKE)^/*?W9A^-/0"9S%YNV.8NE?]XA M)SIW3MH7D,0L"A%@X&)$G_"+G)>DW1+K(:C@[@"&A(M@8,H7=^+Y'F&S+F"A"/R:AWSD="RX5%BVX](PQV6BE MLMXCY05!/ 6*3(@*D^OD'DP,=V="_O-T$) LX//H3Z;P(!_.O]3K/9AU&:-U4:)I8TK_ M%.MBF]9%(M@'*2ARTE#$B65$DJ98WV MWF^D"@=F1:&Y@&1#F05(K1?#.[,2$,(*5H/D!BOS.Z5A0J;!H M0:5G3.82PX3S%!$?(N(Q9,>64:1< G *U!M!-AQ;IV3"S"##!9RC%: 28Q@1 M@E.P(7!LXDY025->4&EO'=N#"<[N;IJ4G=5S>*Y_1B!SD^8?;1M+H'QT]L13 M]!@MPQJ>JR]Q&=;PU#8)\=I(91Q<36#$.7;(!D&0$)I9QZ,@=*/5I]/:@W"B8NZ/>\Z,<= M"<9A@YSRJ[2QI@$I[!FUGHFHY'7TBR$I811&41&#N)48.:%@W56T/+OK1NXF MU4S%N J@"OH]43IZG5! U*<;4B1F+VU&T?L&?/J2%AB=(5-BA"4M<*A&" 4S M@\C(4=2<(+!!$K)4.T04MD);39G:2%8_9E[B\]2['>&M==XJ0C\FH=\Y'0LN M%18MN/2,Z6H7)*:<(N$813P(!K@D8862-(R1X!CCUW&):,\P]0*<8YP RR0@ ME) :!:,,CU19E5/+T\7$YJE-(<+-?-UO M1"YA^]%9%25L/S(Z'V38?F>:Z)OU"93[;R=I%XBEPJ$\0!%QRR721,(_L*,4 MC!_.<^'XE_OO:PK\AS7]#9\G,7\ T^GU:0/\^<_^^UO-JJUUM1E2($(FUV+BP MC=C'R#!=TW%-S2B(?A>B/W%Y07_^D]47]% MJUJ,'M.LQD*SR%/11V.VC7CXRK98_#[K,$:C;G_-*.DD3HD:9*PBB%,!CV2'^$C&3-R"CP4? M"SYNX"/@H+,F*.1S=04 HD):Z8AB"MAH(AB33UMBL4U\5'A<0T<*/FZ&"."S MA???]3L_GZ\'_!@_^M=ONC,U2]0:&2X$X.0B+#:S'^*@ M4I!-\."O[.2C/>^^^ZKZ\\N1B3^O"\528_^Z.(UM[>'O4)_=0@I^#(#T]6?H M0>A=SW@[2?Z^Z.9U.A\-)ZV'XZOX:1:G7:S@F^;#M._Y 6!8S4\B_+^-L8_F M3>MIK$[A B==%8%BH7H79_-XZF);,7Q444S9437/.XS@MYOR)3M[V7\]K.R- MDRQ%+0SBP4O$DV;(FB01UHHS;K7@?*/14K3&..4DHGF@+-=6(,/A',8 X'BK+WZB>Z, DRLC MG&8<444TXI(YY/+.9T*X@Z^PB)NUX(9;XZTEB%AE$?=*(A.<0D$%QA3W#C/U M+!(EBT0]^*&. .NZ601RG<7)^7'U)'!(1_;**VP^,.&--%#I'4=8YBX'/D,; M2";*_09E2+EGC]OH\4-Y"(YY9!P''#6$(6T(N.-1,F\=%LJD H>7PMNS_('Q MC3/"*RH\PH(E,*,80PYL).2%S7M3"65QHSN&L(9HJL'6H@*4OH@"62L3\E8Y M'P%! M_HHOPD?'-[=\I1\_9H=_46W^S9 M/-;\RO#JCY"H"]9>^K>KDFVBO#&2(SR%UY ML5M8!, O),L92ARPCUL1D,W:#'/F.:=*X; Y&^T1+/+.G\2PF,2WZ:<:-%_\ M!13!!K.\ST';!_+)MJ,UBF!\C+]>G0#D MF-A9%U]U<69;.X\KHO:)K.':7]U4OW=6=[6K)_7\_-7J&K?4\0VWY?I82/UU M7H[;\BS+YSOFDM[C. JFE][F!89UNA!NM/UC M19MG6XRM9-VV)#0_@AUPVN\J_VL7TV)290NFJ[[Y/]&V18C&+$1 [/SK?WQ% MORH"-1Z!VLP:CE^(QK=V!XQ-16,5C34JC?5#]$N%1:[F=8K"&KG"*BV:QK0Y M\(=X%B?-#$SI>?0G4WB,#^>EE^N@)R[<_/+4BC><*>$$DB+O MG%6;M5>W1\L' M-_27.L4K24+41?\J+-IS\$O'(O#T6%RPX/4ZS#$E*Y_E:?[M#7"F:^M_.^KL MM(/E:NOT&?G]1#%AWXV?3E\N4D&+% W/XH$9XLQ'9*/$"$6[W18,HG M[(,P%.2.1\0YA7.PP<@EKD.R5K*XL8OR($2*'>,[1*H@Z?XAZ;XW11KQ[L&7 MW3!I?ZNS8-TXXX *4EB7]PX2Y*BQH.NYPEB#S<4W#"VA1!*1192<@R.E,4B; M1! VGA&+DPI\8W;19\H2MMR@F93I?>/;/5C0A8T+&@X]6=]299'$U MVE- 1T4LL@)31'D@W,> >=QHX*=IHHY$ASQ/"=!1462$XLAX:2@33*N'A"&V MC8Z&%'0<'3J6Z7[[%%__\NE^A[\X8S2$"O%W3_QBXH^W@=;.2;LO5"SSPYXS M0,6<,HPY%((@B!.31V)(BHB+V)B\@939;31_W,, 51'[,8G]SNE8D*FP:$&F MYT,F&9RG%/#(.(P1IT(B%YW*(QX(YIKYQ,4VVB[N87"HB'TIG-R_P,[Z;$N[ M-B^E)+5&9U<4XA;B'CAQ]ST=NR]T/LB4:YG@MJ7F551+QG*_,Y8XXM83L-M-5S70I>4\!AK3!;T+>A?T?BQZ MXQAQ"(#$VON$N+$&.1,TTC MMU:"=*CK-4;KK9!_#.0OGLEX,^UEB&(9HO@RL_G:*B=E4HBZO#T^YAT;@424 MM,0<8X(]WVCFO>5(W_;&*$JA1I7)+T,41X>/9"CP4?[XN/0G,:>$R( M8>XRUDEDE!0(EM,0QZ1B>J,.>\NQM&V.&2:$%80<(4+>.&:X3!>]I6!M+:)< MIHONESXE,O=6T0X%GYNHI&"19BD@YJ5(TLJ V4;U\&.FBZ[SR-MT7:5N;5#6 M[97#HV">44Y'+/-&GWK>*'64*._!(=?@TX.]@4S2%D7J4C0F6JDW\G^/F;[T M3#*V)\/H1O50UR>0/@EDE@FDSQ.B4X2*/#W->&T0=SX!_#&)B(\\MVF1PFZ, M#W[,!-)G$>>;7Q&TDTM.*Z1#'I9I)7QR)B"[0*M@'%78\ MKJ>Z>SSA8WO"@D69:&*(8*\1IP0D*G&.% ;HE#:"+;HQXO[+QA.N9EF^CV4, MX6=:N"_:>OJA!Z)1<>+]W,=H[B;"]YS_J$T9?[A>KBNS#]\V6MTP!.F M"O$+\0OQ]V7HUXM>CIWVJ6^7AC*:+>61#C M^V44PLZK+8VR%N(6XA;B%N(>X(B3ON_GTC+H1^@NFOI@682TE889+#T4BBMC)#;*')>94&W5,ZLC@0;5QN G8O^DRO0 M)]C&O_]8MKN9+*V==I,OZ-9Y,$LP1G.B$+<0MQ"W$+<0=X3$+9WJ1L'$I5/= M2^Y4YP35(42'L#0><:8HOI+P^:*M'!A>#3'3XJ,^,:>U0:U3UGH[J#B=:.(6NYK4J @UF4,=I? MA;B%N(6XA;B%N",D;NGQM >IS=+CZ=F]4)44LU0@DV1$7$6.;%():>>HUD9& M:KG&;^'4EP)S^56WN[<;,\6C%XA' M1Q /Q"(;N$/88B4YP9SZC8:FCPDI_1#=_(>Z\Y.F6[3Q@?NZ/[>.7]*I:_N[ M(1^]TH0>]_R?Z;0N)Z5]V=MI]7K6UI-5&(,<51]CU<-X#%4]G3<5/*7]T,9X M"M_VO5GR?O(W\',]KWZROM^277VLYR?5F6WK9M%5D[Q;HNV.X'P_682\C?Y[ MV_J)/>_@P_2/ZK=?WASEW>=UURWRK\,)1_UF^^XC?#/)6R^&;_L&,'FS>H!W MJ+MY:W,?&7BD_#C?Y#/^]"^,?W?]@5ZO'KG_]=MJUC9G=?\H]@/\],'.(PC> MZ6D]SP=U59.JQ:R"USVPABV2ADBQH\B0OE\9CJ"" D-:F:"83EKRC>EI$5M. M60@H*D]1[EV"' :-1+F01GNL>=CH9O(+K-C;-*S":A'^8C_5IXO3[YNV;?*J MOK&Y6\#\?$N]3?K& GO2S&1;5J0VYR=)Y%5K[$>1@>J-\ MVUY"-J.>Q]5_-Q_C61;>VP[I-!:($SC<):%0M$Y&3S#SSM]'S'^R=?N_=K* 'UZ? M@B$_?[N8=W-0VR#R6Q)UNB^"/JZ'JJ< HG/ \EXT_2#3S>7J .#:>05?+SR@ M?99[>V;K2=_XQ:VT=N67:CNCHYT!D()6!_B)?D*)CBQ*#/B,<%(X2R=' MCLF$ C986R4 A--6)'I@D)50K\GN(,Q;DF"CBP@_XJ&.B[MRS5WYGP6X!FK- MM+CBK+P&:S[TGLJOS7'%LLJZR9RY\ X&Q^4&[V2V:+N%A0/@"MG):+P?"C5B M5J5 BA]M"QKP[2PO1/7C)/8/X*B?_N??XNGS]\$<#K6?0>5+[4K10X!DI5#1S25EFK MM[6=5/[$3C_ @GP$P@X&XI(*M],1GGAFVWDFSORD!G=MM1"%@Z^;WK;-[4[_ ML:@S)P!A3RVP+OR_LM6DAJ]#INP$C.I)]4V(P""Q=X 7TS:"^UO[.?SM;7?2 M>\;]AWRQ,U#*V9&=318#\WP6RF]EC&_S"DX;N'^7+P,4&Y4^/#"0I]H&%Z5 M6DB%.',"FSR:/U)]8\%:%004]"D?1_'MI?9IEK,80'_&6\2 MW^/J]>?<\%ZA9_#IS[U00CFR=KHXW5 _\Q/0)39WB,S*(^N5IF?&>KKH(<%Z MG]7$30@[!-/NTD. LW'EB0#21)OCUSV>P#ODRUY_(ONA5Y3S_OA,EQYO8C4% M^0 LS7RZ(ML5X'E8:N-.1'IT?N,6.'K6%,?S97,>U?_EL%YV9UJ$Z&N4.+FH M'IW9#W'(K"*;X)E?V81MI)#^!N M@J"2.:\VMBX_)-V7YKY^]=K[=A'#CT/?_.[U-+S-QOM01C[_I;9]D]PZ=B4A M^!GA8$-"<$G,U12"KC>I!V=H9_!NC0'_QS_/(QO\LIU=9?]MJ6Y,K3=SHVS#Z_QMC3'AO+[ MM;76='MMK860^/(_6^N7/;Z'+'VX2Q_N)VH6N>M5*CU8-XMJ1]*UQ?=/UV8 VGL7I(I8M?P>Z MY6_GI'T!V_G*5KUM)N^%=YQ%'9"EGB N!456)X^P\CQ2XH1A&X-"'[)5;SUJ M^P:TX-OT^Z #'] 8YO,)>G-DZ+AV[>U<"^R++BU ]6)9M !5 :J';0YA@F-B M&&A^%Q"GT2+#@D6:Y:2C3%SI#:!Z2$OMIP+[+>N]WL8 DV%;9L41PWQ4'5&+G!:D)(,S H6&+(,!Y2$ M2@9<8^/Q%Q4YKSJ4]0IS:9*L]:)8=J?8DEU"C[0N(S!?JNK8.1T+_A4F+OBW M7_CG ..\D1YQ;0CB%#XY KYUI$EJH3BE>F,J]$-<\6?%/WF$R>T=.4>F.%X0 M_CU!+GJ=4$#4[:+G>E,JL>K4]6)\^_?-W$ZVY-N7%,$8@MME%ND>[ DKLTB? MV_91U#(1B$!$\MS/U#CD&%-(AB"4$U$GQ[;A^S^YVR^.E!I7/J),)RWHN"_$ M+>A8T+&@XP8ZV@1^/O46>4\TXL+C8=A64EA3)3P/GFPC,O#DZ,B.M!E7X5A! MQYOC B5@OGO8+,3=L]:5+YG0A;B%N/M)W*(B"A?O-7'+_L(QY6S^9MO63N?G M51N[V)Z5=,T(%#P(O([#!@E,4522(.^^0II:@P*Q5G+$4U,:N^<=D09X7O/01WEIGN /1 M#'OE,!],[&)GTKZ4IVK6M+VTYWGLL]C:>1[6/HFVB]5J(1_))=?>%'5@]]:? MT$D=@,2O?OJ_R21KP"1&E&&#>-2@68)TR$:LN#5:>R/NO B1RHH$7PIA!*B: MI) E5",:'2-:,BNP'0W-5R-CSR]$Y,9_E2C>6(R^TFMM3('F8MAMT[!CRFK0 MMPQA)Q1HSCR3G+J(K%'21H;E%S;WO=CXLD*57S*HK*IBL@7 M5-H]<0N+%E3:,U2RA+$4'45!R8"XQ!(YRS5BS(CH C&>V*ULQWP.5.)$%53: MVQC#P833=R;BOS93E&( 29M4<_NI:AP\X]"(K&0X1F=6E#CFF))PQ:S8ZO@ M2[FE22%&%3B[4E-DHS.(R.!\9,E8R[>XT_'GJ6].XWO[:=M[.0@V)6MQ@-*^ M+[ MZ^(NPPJEE] 3]Q)J^F[!?IERGUSN]"W1]5U;'<-.Y/[-;NBU]SQMT4I7A5TM M4FFZ,#*[R),D+"7@93O+$==,(6.E18KXP%PN%PIQ:^V(GZSE@CX2^I&.^BVL M?M$482<:Z06U9"C(6Y!WYZM3D+<@[[,/ L">,DTC(*\VB(? D8G4(L,9LT(* MEN+&+K5'-T)^0N35^I&%_05YQQ/8@,\6WO^6=^;'@K&O/_/BA-[UA+>_^]\7 MW;Q.YZ.)(/P\'1@^2VJ;!U3G OUY,WR.H9KE:=5#MV(0D:Q(NJH^M._,/[=[U>N.&_MM!OD MI[MI)\#."-(_Z_&H'JFZPM.#\OEU<1K;VL/?H3XKC'S;R*QJUH+F;N%"P)!^ ML@BQLJ? I?.N"HO,L&WU3?UM-8D?Z;]6,]/JF8Q M[^9PT+"')9\!@@.&0=>?^4T-%QI.G[5-BET'O W'Y(81M8_=\?HJEO7Z6\QD M.JMA17JBVA:H/&S/ ]BN\IZA15N=P-?P;7]LWL#79=WDX54:8/_NN'I_$B\" MGN?+I:WJKG*V@U6#BX"* <55G=1P2IO1<763\ZH#%NG7,JNALWR^ [UT/HMY MM]+R?D<7-^O7^$-L/@!)3FH/"O(#K"^HOB;T.PCSR79Z7OT!:#RMX+L4P?" M=:^ZA3\!7JJ -:KZ%&@[SS?('.HS:[7Q-(9ZT,#+)^D)T&8=?/%J<")0"PX% MUKW"22#^C]L]=46/+*TT+J4V)FKD#0]@<06,M,$82>6CXC;2$,5U*\UP:[RU M!!&K+.)>262"4RBHP)CBWF&FKEMI[_Q)#(M)?)NN;K.S)_(8@.UG'Y,/1Q)Z#>H0G M_!3!..V?EF!\C+]>G0!DFMA9%U]U$2P 4*HK8O>.SG#MKV[*/)W573WPQ*O5 M-6[)0 VW%>Q88_-U7J;;C/'E\QT3SNYSW#V.T<<<\RU=JSS7/C[7'8E3O8/M MQS>X7'7I+/MYER.0!<4%]X#'7;1'W$2'7)R3M1:]%^0R]%A\TP&PD7/] M"\$UD["%E7M_TL8(YNET?M)58.F"J7G%=1_M(+J+H-3X5K+HKZ*_BOYZ'OWU M:STMZNL U-<(#>/MS)M]2FVX&Y'[IH\?-(O.3D/W[6@E;"1K- +$>H[NY@6Q M[KMR.1/25,.Y0D M',F9,L@*&I$FP@3)(W4<[P;'R!'GVYK'=2 :85_T:G&^7BR+%M JH/4@T)(^ MV61P0-(;<*08R%E*.B MHD*<)X=L;DZH M!/6&:"J$WTW$T!PQ7C!K?SLV?W$W]Y>=IOS;9?^2NNMR'YJP:/N&2B?Q6J[R M]N?-Y$#\.#?B6/M/WSC[P6\BC]4=KS)KNCH+Z:NA^=-9O'USB'WDCI RQ6(, M\Q=>N)8L4RSVSS0*W!J1E$3::O#-F1/(L$A12%0:PZW"7ETWC:(UQBDG$65" M(JXMG,.3!.O*41J2CLS)AYE&ETK]YUZG;\N_/\)Z6Z9240)%">Q?;K5P;>': M0X6NZ$UD/EBDO:>(6ZR1"=H@QV/"V@0 ,'H=NASE(3CFD7'<(&X(0]H06-4H MF;<."V72**"+'1&#"W0=H!+8.1T+3A46+3CUC'4^Q$HEB$92Y(N M*N02.$B$2*<5TR$&?QVGA,VY4"T1I@)P2D2!K)4)>:N38;)!=6I#O#UI6LJU1F-LE.J,,544CM'8V)D^^>:F M&HO]-7THN-76"HZ<3@[,F,20,18C%83 !$MGW(;IL_TLZ&_VO-?0VQJDQU4I M$WONNM$==W0=HY(JT%J@=?^XMD#K=J"5$XTE][F$.A#$L;7(.@PPF81W.GKM MA'[Z+.V6H94<*?'(Z?"'JHI> +CNG,8%20N2%B1]J4@J0Z!$*G SB>&(!POX MB$E$.%J=&/52I@TG=?MYY"TC*3LBCYWV?JBJJ"!I0=(]9M]]H6)!TA>+I%X: M3+WF*$E!$4^$(B,E1EI)0Z6*QD7S])GN[2,I*S[I>)"T[!D>C?IZTPZ#P+4Y7O&S_5W3SGPC]>5)Z4PKO1&4?;J;G9SL"[0S:?ML7$#YI7 M4 RL S.P"&,4-QHT?P$^?0VKI3[SU,/;-S% M'^+P[_O;7!TP"WRZR_B2;%3%A?<90;%S53?B0,"_P7N"]P/L7[+Q6 MB@J* <])THC'H) FGB,E, [9@3SY\CI/Q^\&UK0O:![\=1'P>(%R@N4%RC? M%I030JFT' FFP%,W KQNH2RBFA(BK4J*;K9&W7Y1P?-!.3FBM/CJ!DJ-1DQSCK@5#!GI-5(IMYDQUB:YTV-1I+JP U#;6(RT"0)I:AQ*FA4H9D2;J.FL%Z3CS-S79$ M0!PS6'2<')+>28!9%8QZ8/I@>^- E=Y6;J"@Y@BU>'$L1\G(!2(+1!XL1 ;B MHY6:(!T;L8*461'"1C%WH715(426'L0N\GBU1M M89?$GH>O=A:R7D6)*SN$B;O*MK%JXZQIYS%4]?15RU(LZ&%WH7> MXZ5WT2V%UPN]BY%2%$EA[$+OL="[*)*B2 Z2L0N]GW!PRCKYQ),U"!$OKC_( MV_E);"N_:%OX^V*V2IF@,D9%M9T&1SLG[8@+T \Y#?( JHZLN-QH'ST/$5', M+.)!"V03L2A12J4W(5GEMK'_ZN:B\C<3VW5UJF-X,VC)+569JR/%QM7Z;.>: M85_TZQY*?\&S@F>'Q='[BV<9@SSF!@43%.(,<^02=XAZFKA7*@E'M[%9ZGGQ M3!_!BQ0\.T \VSD="W@5\"K@-0[P2IJDB &W8N 1"F ,Z9P;H:A--=.X\ V M&E079VP/-<.^Z-<"7B^610MX%?!Z$'AQ2RF-3")I9,S-#O-T!09HE*2*SAM- M(BZ>UP%HAKU*<2X3T"7%^90I3A -M+4T9ZF%&4,]1AE8-8JZE_T<6+6_1HP@ MQ&"K!1(^9H/$*&2?9/ (I<%5!\ MJ'?!,(=1P#@/\@$LU,)HI )V@B6M='S"*MGB%A8$ M+ @X$N(6!!P%$Q<$?.;L;O).&\N0QSDPFAA%+EF.=/1<2!.T)!L#8(L/6!!P M7+M;^_.?)O?;7_IE)7^_MQ,[];&R\RI.0]6D:A;;N@FE*&UTYLUV2D_*#*9Q M%*Z5&4P[R L+&YU!7AH+IHSUR$J=D(W)4 JF323R98XI? ;-\H+LGY=;^%I0 MLZ!F0QT16C>)$%(K><>]8/WW7\]$/% M](CSROJ1J_2-_;9:K=%3/L^_O8%W=VW];T>=G7:HBVV=/L,ZGR@F[+OG>+"' ML?//4S]9=/59S GXBRELH(2J^&D6?9["UL;3&&K;Z]2L<,[*]NPRJJ D>PJ] M"[T/CMY%MQ1>+_0N1DI1)(6Q"[W'0N^B2(HB.4C&+O2^*7P(GZV;Q/]V6*0(2J3-"2$2)IX@''Y#A MQB,3/&946R[=QOYLPZWQUA)$K+*(>R7A<*=04($QQ;W#;"-%\//4-Z?QO?WT M0]WY2=,MVO@>KOC]I/%_?%7%SMM97KQV$1\C!83>1> G#>"Z9A*VL=R$'R^% MX(M#I=MZI&'=JKG]=#7L>>,2\6/!V-=/M$Y_7W3S.IV/9@_73TU;S4^ -"=M MC-4I?'_2Y=U<,53OXFP>3UUL*X:/*HHIJ^PTY ^T^ABK-OJ<. I5?4'S%,FGK8M*4_! M9]B0Y"_R%YX*0&^?JS,*MAFG &%4!K5AG@IKB :I0Y@*D"X1!;)6)N2M"'.KJ&C^]/ M(N"9/6T6T_FR+,GZDV6G$(#!-E:3!OX%( I/GY&TF]OY8MZTYU5KY[="X?Z* MAR,I2);'NC'LP.J:^G@SE M8&^ Z!_@@!]BBFT; QSTNNOBO/M?.UGT1[R>P/+D-B]7Q&JV:..%7"&Z+ECT M#KFB9-Q2]?51-6OA45LXJ0H+L,N:RE9G*WI4=D60*G8YREMW)V##V0^VGG;S MGH'_>OSN& @R4+0WZVQ/T^,2>EHG]-]B=6+/\C]"-6TJX!C0"792^9XGP2JN MFD4+3)?MY ]3N%58=W8[\'+R(OP0_=+()KV138^KOPVV=7_.4!'9&]EP>5BQ M'OT!+NPDUT#"@1.;2R1AD6^_DX7_@4">SIHI/'K62)LF^W'UNLN_W&+U;SSF MJ'B^]T?R.AR6IF4BR2@]13A9A;CB"FFM/"*8&QC=WU;L]GH:?E[RX>N!+Q^UK0!UT6?%FI-U79S>/I%-8.<"F& ZYM@# M<\B2B)$6S!AI= Q<7']]HCW#U L4%4Y ,@F$$%*C8)3A0#&K!!G=ZT^;&R!E MS!BSJ97 +GJ84KH")@]+*-Z),H_.*MX",<^:6'R^'.IEPOO%ONS.)"CWK[Y" MB9.+_3HS^R$.-0W()GCF5W;RT9YWWWU5_;DDV;\@R2Z5CQ1[#("@54ZR&V2< M4(C1F(*+W#.[,>#S,7[+F^;TM)Z?PFMEP'@#UZO!'@2?)78E[?X9B1"C2[NO MK61O!/OUM2S.T#5GZ-2> [KW?D4]/6LF9[U] )YG6S>+KO(36Y]V1]7$?NP6 M8 L=I,$S W5G-\3RO/I[$G&T<#+#> SZS]237-V5'.:<_FO["==K\8KID]MU1/X<_LT>6(3AS8 -:V]O 7?)K#&?E)77\IN&/3=>"$=$"$_H9] MQ^>0G2^X8+Y!6(:#\N<;+YX)D'\/?ZAK29RM#7/FTTZ;+TU#_B&OW M6UTR7^FH6AXX:3ZN^N?V3S)XO_T?;:9J=H[!\817@ NNKC0L5LALW!/[8N,? M+$8;TR3Z(191GP+W]J28Q@_-?(CZ'%5=G,\G ]6.JG8Q67)*.*N']9O$#P./ M@&<[66.L*VP W\:SGO"SV,YM/O>!(N$EJF]/J_4E6#, 6"UBO%IAZWIY7 MX*CEN ?&'/QNH86D2%3?Y)L,>VK]=Y**ZO7%XP_?AN^^'1AL\QJ2*<.0N7J- MMVT-"PL\9IBYX6)'2_R93%:1Z>&U\B6NWGYX_XW+9MI?'M1=/&0?X*YN.VS= MD_.#C,#']A^++,WVM!N6*@O$HANT?9;E_VW.P81M_[^L>7(G@N&H/E1^06\X M= AV_3QH]=N> +CFM^][YNA/ZZ_T+@[LP#"IWIS 64L>@H-7/U%&00 BK/Z? M[.GLN\I.%L"GB]/+(XS+/<#?1?92Z M3'\OWVMKN/OY@ B#@.1D0G=TPXIG%;N<+@!LD=4W7*5M/O5Z%KXYL.Q7T@W)@QB>"F(HF$26)(!OI!QH$MY%CQ',%&><:'"PG)"(N4D%BDI*R ME1F?YKX&&[Z;OTV7--Y23HX>$SGRR,XR)]<+YF4L^*H.[T$4&!:LNJ428_R[ MW^-9G;GXN@*#GP9IFS5#\W'ZT;:]E!ZTS# A'37.(0=^*^+1:J2=X\AK'DPREFK.KLN, M-X3(J#D*@@7$G<,(C#2!% L@8IA@ZLGSR P>><;M0F:^D&ENB5MX:BW%0'D6 M(V@P1C@R(<%""%!AF$N67/J2N$6_>#_$SK?U+!/W;7H_@.2;">!NG;(9!E^/ MQ:[,BNG2/A\T$C!F5E4#LLZ:KA[,Q96>6#<8E@9 K]'$U]F'4"Q9\]TJHW1'M(]E<(=)2=@8]Q,LG_[M73?,JB= MP0B^ES;+1A=8T>L6PW#;\_ZG9IHO=_E;UG"99I.X--J:X;KS/E$Y6%$7_LOU M:/R(9&UPD>W\: @'9-/'YN59^M1#,OM#TX3!3UM:H/URKZS[XJ==H>A?P6CM M$1&.7 4GK.]#'4,09T#O.MNXTVXQF0_>U2%>=;?[N(*+8#.?Q4L9 M;./ITL->U=+T :'!%<@'W(+Y_3+F=#48N'Y^_*49WEMT;/2>2HL#8B$9Q&5P M2!NGD72>">H2!X6[71V[?-U1J]IKFG;\JO0&I7BI2:]Y3:LX5P<+M R?#;$X M\ M= ZQ[/6ZPSJ17E3%P_$GM3RZ#?Q=XY,XS/Q_O@V:M_M*T$=X;%OKZFX,: M.[E-/F^6]D$#@V3_8Y$C?EE?Q$$=SV(+R+1:[B&"EIFL9Z-NWH*V7K39ZQXN M-(>G[PM6^L#!9>!N""GDR.X-UQQ8=8A07,;^5@4ZW06;= OW]^4KK@<.UOW^ M"_0\!>ID/QU4QA!86$%+@9.K.1-@CRP'/23D>$0V7OKL_^>XJ \'IWJ2^6%P M!WH"SW/(>"6HUZ,>-_BG0W'4)!=B-N#=7G[CH[:++[S^'2R_S(3DQ M8+.L]^*X)HKU-"<.X$Z+Z3+FN%3N_7HD>]:T_?LLP_X9=T(.]#:SI4*J+_+K=+,Z9UO@1'#GYY=7>].<@M(X[W-WF9? O%N%0/JT1BYF M;#_$M4!OSW$7T<:+/4!9XI<9-WBDX^I=7]R8;P$V8I\3'"R!-2Z !\L7%F#: %P'-XI] 7&6ZC[@ M"F*2YY':H:-DMF1[;LCHLQ1X7?['DOHKNKV)"S^5AK-N3H:C:J=W-8(S1D5/S:ZH[I&=?5R%9%R#BJ MI)<4$6Q4%J& +#'@UG*2=,Z6.WC MI=RL2U;>A#%X=MGQ7=6#_M;OH>G%[1["M3ZL& \6]34C6^@M&MG7A&YL9G;/ MY5?X^V+O[<8>)=OO $A-WOC1O;JJP8=&2[T]=0.=[6+>K/JKY]<"FRH#4#X< M3>PY0#L\UJ<8OAL>D6!\C+]>G9"SU7;6Q5==! OX\?=$?,KY!KLC[45'1/D,'1&OCO< Y)_- MJ]Z1NVENW/L[>F#M5EP^LXX70UK&MY)%?Q7]5?37\^BO7S_? M@JBHKSU17R,TC.\6PEUKP]V(W#=]6J)9='8:NF]'*V$C6:,1(-9S]" OB'7? ME4?_'$+EIKK%J+%JVU3X)4M%;16N-9FF)K%:U5M-;(B%VT MUEBU5K&U]D60[@A<]L4Z]XU<>B!L\E^P?$#4>ZW#DQ:3[FX;0>X^TZ2\,2U. M%_%Q(O3%:U"F'VZ!N--FS*2]RN%/P\S_NEOV'>.,PP=0=62]%%*07N&4$',L M(6X<1]8:A[ ,02FB110;_4>23BKR8)%*D2!.B$+&4Y&'ZB0FM='1L^LEMLN: MV1AN+JE=S@QX5 /:S28+1-_>8^%%JH5]4:Y[*/H%S J8'19'[R^8648(58F@ MJ+5#G$J)K-<$"1&X-EYQ038&21')&!QND1&&(FZC1QHN V=;&@@6)EJ]6S [ M(H(5."MP5N!LO[FVP%F!LX?UN2-[L?U1 M,LUQGO;F,)R3'(%S;$ DAH2ECRSDPJV#4.["): M&IJ41H0$<,6P9<@D[A'A7EOLF9%ATQ7S."G,&*),L#PF"R-+I46>:>^D,^#+ M[1:[Z)'XS+S$%ZD8GER];C.+^<5)Z)>=Q?P]=K&?@=!W:[IL4C7^C7\OSNRX M-W%?N'9Y]LJN8EI\>917)(XYPRBY(!$GSB+CC4?"QV# V4U4;C36DD%)<*45 M8@QK,$<20590@6+42F)/C)>[-2VTV))=422_2/[^A7@+UQ:N/52\XL%9R3A% MDEN!N,>P.%PHI%-(#,?@:.+7\4J;1#1WX#0' >>PY)%3GB!LF(\"8Z?Q;K.2 M7*L"6$7T"V 5KBU<>V" %5E@.NJ$N$L!P$<;9+06B!'F$Z&$.[K1=M5S'F,( M!F'.+>+:!'#*8D"*Z"0P20SP;+> Q4T!K ,4_9W3L:!38=&"3L^'3C+2$"C# MB.9QCAQ+AXQR&) &&\R8D9ANN%/>.&F$,,CYC$Z!\;Q9@2$72=*"<:O=1E/P MYR[R9+S@T]YF%LO^R"_K_QXGD]4P-'CF/V(>R%.JF49G5Y2BA3$5W!6[8IMV M!;8RYJV+2"D+=H7$8"T8:U *@4@E&65I8R>DB0$G9PAB0N7=DUHCZQ)%(O(8 MO)&*AK1;NT+>/J&]B'X1_4,/TQ:N+5Q[J( E*3?"T" MELS=$*:5*6KJG4 V(:L: H>%@&<,<"8''F#;6!D60W/"PM:)#!!61IWD<"* <@1WF_L]&E MJ*1C=+>%FV5'R$&*_L[I6-"IL&A!I^=#)V&Q]H91A!VV@$G,(>V]0"92GKA2 M A;R.CHQ[KRU'B/- N 8\0QI#'\R'*.0G !H[7JWO62XX-/>YA7+CL4O6JC_ MBM/8VDF?5[0!CJJ[>0MB=O;(%JRE:&D,Y3:?U2_;F;NUWQIHYZVX-]NF%P/E MR_<]2A^XL0Z%9#'B5G/DA%'@&2?'; !+)+==O6J@1*FL5PSL&2%L;B&4D,D] M7F,0/I# A&>[;=6JY+;,DR=7'Q?]Y8L".=RZR *,A:\+,.X7,&+E#:?@J@(\:.0LY3G,#+!(@J-L QB-=-Q@K>%PRQ#W,B+G0T0B"098:;RE>+>)T",J MQ[5CI4!C@<8"C86O"S3N$30&H8ST"7E-5$Z?!J1QH(@[)SC&1"5!-C;+",Z5 M5PXYDW(?=$J18T0CQK@TG OCO-@I-,HC+K>5="W0N&\J9.=T+#A8F+C@X'[A MH$J$<*L"XN C(AZ=1PXKC(SA01FEC,%THU:6<&:YLXC%W+='$H\,%@DE^%O2 ME+SWN]TT:HZ,*M'3\:F0)]A8NDXH(.H6$\)+XF5"]5=^60GB]\W<3N I&O\' M2/^EH%9QD-12@S8Z4V<[92A7-14]IEE5A6;A)G$\QLX+Z+I_GW4HIM!6T\A* M,1,P11VUD3FW; $(C?7(N801 M$]1HH;FA9&,DFZ,\!,=\;CEEX!S"D#8$5CY*YJW#0IG=-HE01P)OJYMO <\1 M*O,"G@4\"W@6\-PQ>&ILK=(<(QQ$0IR$W(_1$>0#U4DEF@C?",(;;HVWEB!B ME47<*XE,< H%%1A3W#O,=AV$QWQ;G1L+>(Y0F9<8[2@9N2!E0B1#UR8@L M#X)'QTDT6_$4?X^3C'Z_V79^_KZU 'L])G4_U)V?--VBC>_A!M\#2/[Q514! M]69Y+=M%? PD$'H7O:\LKUP5XVRM;,8UD["-]2?JN$>*)?6J629?-5^CWSK. M/#6=[H,*.R+4&DM5'^OY2?7Z?&J/7_]<_?++FSM)="=T[IY.V].Q/T^KGZ)K M%[8]KRBF]*CZ&*LX_0#Z-:Q3K?K&=E6W\#YV7=-6-1C,&2MB-Z_F#5RBG7Z, M)]6/RQ/?SF)KYW!<-FKM]#Q?X=OJFS_]RR>*B?\N7W?X'+[[-I_?+6:SIIU7 MBVY8KOITUC9G,<\X[_+OS:*MX)M\:Q!B!U0_JCJX@HJ\ 'P;/S3YE+5GSF\UK^>+?%-;M;?5S:E>E+W9_>/]S,0JVF;ZO]?U&WS MP0(WM'-8]VB^@Y>W\&2G#EX1")37US69Z/!'J-OH@7GR,;E]3'4"6F$X[A0> M/]-H6JVD^##\S:L_AL[J^=V\BZSXW_'2;CB:,X ?2\\ M343774UZU][96YW,42B[KU>\UER2 H2SI\4@FR"36;^ 9&;1&A1=KP4K4)0V MA#J_U%&5S906;CKM5>/-IPS<^QD1Z,^[)C&]_ _2='SGN9,.-.,4SHDW"$_^ MHW_R4:U 5=!WG1QOI]6[.)L/>I"PHQO5V@[]+\H&>^!3]$MT ,P_74.VS'NG M%N */+/8GM4^P_.'-@[ LH33^? 7'/ZQ:?^HOH$7F@"3UF=QU/ M /.ZQ22_(,BNS2HN1>N6\3PPZ(%/?L;>)G-$.[L M;@YZ_C20/5Y%HZX_8QV$\!T@1(^ TOG_XP8C>,FEH7?%*AP@X".8UKT%MA*R M&BA2 TK=9('&-6/NN/IA$;,IF+^V8*Y/\K'9.JQ/>T,S+<7E?#"NV_@/0!?X M?76IWE;-QOB:A-]\\RR-_R,Y6ZZGPY,U MU0142*]I3FP NMC3?/]_9B.TC3-;A\K9239F\_.>@H';CRR;]Y==5T@!K@>7 M S3O#YB!R_"IO\FH%GYR/BXU_Z^'I>$D\SP:')$$G88X%P+E\D DN!2<84Y) MVJ@4-!A'KFE"2N;I'#X(9'$>6&F]480HB;FX8DO_]9)'?QM8]/N!0V]-V<@K M*1MQAPYCQ[<7U8^":2HX>@)/-:J'ZGW<+FYJC5Z=IL4$1.]2MX0>EP8E<@(F M!WB7T_E)]N8#_'IIES%\E$,CK!I<>\"C#[V&_7!KC]/5)K9K7L.:0BHZX$EU M0%*=)(".Y010LG^2(-#%NC*I]R%:;7@?T)LYMJ=O?(Z!?=\V6 M>;P^(,>W]]T8!0.-4A]D^Z4WKI#+RW3C1M.L+,YR[!!$$ESGYL.T5PY+O_H6 M&RT;,.URA1^N1\#)@&>-G'$ MJ4C(,(M1;!X_K9H05=W<7 YWB804EB87FB_T,$@>^)@7'@4 M335;$J,:WK8/2O?T6#*VG?=AW$^Q]74O$]F.AX,.#!HCXDE%Y#BPK<2,J,0P9M)M>+^9RK]E(E[7 M_\UD8MO^YPLDP ^)L+)C??M@T7&PW2P'@_(;KIM=2S6:;:4EE^5:ESZAD6[T MXXY+I'"=JC\MW?,!83(9P0F^$VIZG[J>^D6;7?Q1L(B.L0Y:#&G)48*'#AF89!K8O MYRN\GH;75SR/NPH''V9UTF)U/N:ALG2.ZHD.3-92]#(1ED?3&88X=A19G)L) M4Z:558SC(#8&!MED,.$,B21-+E("%$\Y91IIU)H;C\-&D>ZSRAH['GGR=)2R M=I13-[/+9!(8$W>'9<#JZ!J_EG7-*>&U\/0R<[JLS^CRF4LCQ9XVBQPU#S'G M?UTV:%QS!M[:FSYJO@JJ@\'=YZO T>L=/C"G,WPW&X;.\K(;F:\AB%T@^VE; MTS&CG4@48>85XL2!%RJ=15I*S;QF-I"-,<[@-C E4LJ1X9!;M&)D/"'(*AMQ MTI8Z0J]XH9DQ?EORQ=90N6B*Q\2&?[@>I[FG%4U']1Y73?H#$\F0)&,X]TKF MN5MDX@EI'0G()8N8$Q ]LN&?XQ $3\D@0?)(6W#CD>LGW$;*A>0Z!:5WBNSX M^/9Q J-@J96\]@)Q8!PEB1,.E#*8B1(4-N$8V>0< D4OHC9,>;E164>E9=$J MBJ@, R6&V0MN&G42FPQ%9S'N&-;<>RAQR5'/!]K(^[ Z%/M_=E7+LZ?H\7:8R-_ 5HC+KK%GW%._SX^[N_WKT79ML!Y"4!DU<_<]B#'5C"40BIB64<*27!%/ $7#UK M"!*:8RH)25+*#;N286:"H=GX!+N2@4FILX9UPD9-'<=$\^M6P%J.<9EVO"PT MOR/I^/.O/]V%^H0>B=$G'2\3C!N%]NL">Q(GH7+GU>O?WU0_];>HWK>+7 5X M?0=*%FU@3YMKC ]QZX.,\;WZ[4M0X;I99Z M,*SXN4]E@OTP!>ZG, =)G9S M[]/WJ^T;/USN?5H5Y#HPF.%M>LA;;N\:3NZ%+&\_&XAQW-\(5O;ESG[6"?NU_=#:&1_!KQ(N)Y_05+6O8*8[UIADA,+FI>UO%Q!QR#'QY(0P/-"E"R4:D9P.1AST)7PS&5.Q#!5 V M@[-5ES5#];Z9 MY.SN!E_YDWOC3#9M79K,E;>4-?BW'!A6]=KN;/RC+>8C;> MEN7<7Y[$-G%&M $_/ ?WD\" PB+OWP?O.S9<1WF>O!:! #.3.YZOH9I_=FK6G%X(C O;8XO?80'Z@N5 MJL5L6?\)%@(ZC[:%RT_K7.^9S87E9?K=)CFBE<\N7OJEE[YNO]W\4,V*=9G_+.Y] P[:WTVY^0WG7J&3[Z#(^.ZKG.K!@L1!)"9,2(AY, M'TYCWMI@!$I<6AJ<\US$C4;HGD6N&4/*6#C'48PTP#IRGFCK&$[8; P6_7GJ MV>@,\UZGQ2>:9'R)?L(>SW-<09 2M!89Q9\W5SDF\MAUBZ^F(8XN+8_3]-D M*(3Y/8;%<+/7?IXMT>')>?(&O"DHXFO;]E9!TJ6KZ$$S-J>#NO][S.K^ M>O5GW_5@>K6.IWWIBWK9W?4*(J57ZS/W M:M6$1DP=14%F3]!)@FQ(&@7MC$K&J*@VMAP]IE?KC[;-#5>ZW^*P<;%T9KVA M,ZO> F9NZV&&)K%PX+R:-%UWN2%S':*VVS98."T%!3Z2,4]G(Q)IE@12FFD3 M"7<$;X45W_D3]UM?46%] M'K==S)M5C_J\8'"GK$GRX6ABSYO%'$C^*8;O!O(3C(_QUZL3NS:W;2SMHG]E*BM>95>!# ""-V>_NTK+N6SO MG=@^D?/FG$^[!L!0Q#((,!A LM:O/]TS A2DB51)#$ .Y5$$HG+3$_WTSU] MF\F\\<^!GDMC[.L8FV<<--E]J5%OMLX?X/*[AT_HDR$.>O!>I40>U5VS-JW4 MV:&LD&><]'$H8I^2N'M8>$?M(%7N()ZK(-(["^XX*,H3K M7V8@[;MRGQ_ITM.NN'QC'>N#<YK+1^R3KYZ'6$E M:5I(GH3RS7[2U)OE.%FRY3&(FZ1/!BIWZ")2A6F!"685^[5._FUI. [C?]\N MBS]E'>[%[].MC$H#- :H7O>L>&BTF ?A9#P(1A-OX 6NBUFE8C -Q'S./>$+ M[TZ_S^<<+51EH@*^OT^"="5^ Y!_L#YHM%4?!'_A:?3PVV.%0A-K/GJXMZ)Q M^%:;8F>!<"TK<1/1B_1Z[[F>]#KI]1;UNF\OYO.Y9P_"<3#1YROY]G@Q\-V) M,[-GH.?%G1[)ONN%H3\*!G/?FV-5RF@PFSO AV(R"CCV&(SLD>V._9&S6/B[2GS,L:?W;#* *^">L1@/.)\L!@&?^H&8 MC;S0NW/ZZE&5^!25N$M*W$R$>U")'S+'X91U/?W,;6=#ZR9MC+\(YA>!!+\010:HZEV!,P-1$HR4P@SB8SH7MF@A^. M[>G(6>!9]6+@>=YL,!M[_L .%J!!0V?LS ^2Q6""F3#U1O/)9#Y'[U ()M'< M&W ^"P9B#K_:L]'4#N^81 >>,QF0D$IN0Z()N@1VQ,-L') M*Q;LR?.J9/[)$688!,$7C )_*DW M\/G4&7B3T1@T_<@?<'\L'&<\#<;^G,/YIXS'\P6W/?GW)V%_IWS-/;) ML3#!)G#\Q=CV?1BM.QL//-\?#>8+/Q@$KNN.%L[8 2/HB',]HI_ MB:>:SGN M?14?9!,8!Z;40,.DY))_'251I#?K8J)E1WF^E.?;OM5'>;Z'L4$#;S:;!U-[ M,'?'BX$G/&+@1C-@G$P#;UPWF^^)Q:/KK.O/7;IIC M[E,3?Q^PMZ>.*Z:N#:8VQN46H8,A)WLPF8W!#'="X=XM3#K$7$OC\VBSM8>. M=RSCD[*>^U6Z9"*6DY73>ZXG*X>LG!:MG!$7KF-S=^"$BS%H_FDP\#'Z-L/( MTMR=^;/)G8C4/EDJ)E@Y8V_BCVR8IO#'TX$'-LV .X$]L)U@CB=&CT=B?HRY M'M_*<8^6BD-63K^LG-9I3"9-[UF<3!HR:5HT:<1T,;:=T6(P]4?>P!O/0TRR M$8/19!KRZ=0)1]P^1)*-"2;--%A,IM.9&(B%*P:>[?,!]Q>3P60Q&8WMQ<#P:O?H&"SGN8TNYQ443N+K!1_\N9!XM;HW13[^D&5L7 MV3J5V"]H 0N'I,0&0?=G>UGL9K?9$-RR M"\I^=0F+(DS5F4J*5BZQ1?&O$X MOF75@C)9KRC+ESQG\!#&X:I!=87%N(2'IS<)\T621J=G;(A&<#$D[33H0Z_VV,OV.4#.\^7M/7QG!,ZGK/> M6KY CQ[H>$Y4HOE2P'^9$"I5&BP0P4 KYDO)!! A9)=BG0NL=& CVS*IC(C. M\MR_%(&T"FF5[I.6#GTV4JO04?4=4A1T5#VAEF%+0T?5$VJ=L-+V9/9M/\ML M+YH^SZ975)2.;K;(TM56"_?ZZFT7[5OS[>B^9D&<5">9&&SJ;^8^X/Q=#8:>'-[.N#323@('>Y.9F[H MN=/)'04_"?B"\\5@.AE-!I[ONH.YL/F !ZX#EXMP[,Y,5&_W4\";N<$HQ'9Q M0 *83; 8<-L;#_S9&'/WQQ-_=/=4P!E?^',/:#6&>7NN/Q_,)JX]F/G3D0]_ M>;XPD@)3R[.GUF@T(@7?GY:]I4^-O#8M>6W6\-FUD"K$"%?]SX9+Z9SW\,3H,PS@QZHU1X[@3V> M!X-@ZF%'/7L&% CP?R.7C]WQ:,+O=)ESI_[<$3,P_UQ;57>.X'+''@1\Y,X] MH(]PN8D4F%KSF=NU Z/O3TTCP*60JI'T)D/""+XF0^*TAH0[603N?+H8>'R. MS5I']F#N!Z 79SXHUD4X6OAW/4K^U![[PA[,IE,\7CH0 ]"K\*^_ (UYDMP*00]IV6#R908&I-[)%E3X[6K9\,"3.]3O?D"JG[C^-V M4H\^+[_3IZK[QT[#D.W\]JKK2"+RG;3V3>I[FE#6D'%FY!GU^>L*I7O:RZ_+ MIB0/QO.%/YA/,?90 ''L>R1;3/=$]>\()72ZF7C@0$V\V\.SQ:."'L^G &]D^*,;0=NX>,+#/.4*GT*;[ MGEKN+1P!)L!B,%I,7)R/,YA-7; 3_'#DVN.YS_F=TS'WZ=)K!@V7K[_^(%=?/@)_KOX[?^[?'_)/O["?GG_X>+#N_<7O[%W M'S_\]/YS=]C7(8 M2O @[3\O!1A0<9S>Z 8Y,BBD1&,1F[+RA,>W,E*YKVF1L464\"30$8DDC/+J M.K#*BCC7EZU%IBPZU8*\B$/F"_B>ARQ*\*Y_%XDV1F^B?*D>BH\2B138L"%1 M(3F.\8S-NR28B&(%PY7ERV)U09+F,.>R5;IZ_'NXC#DXBGP)@_X%R,8<>_#_ MZ+G$*4Q0O35*M,FH;.+&_3@:[,;%+I*D@!?_(=9IE@_9>YAE6$XW3QD\.T\S M-.$:@VP\TU*M;>\E*M*=1T ;N/B&@\$8I^D7O*8Q1]74/4JNT_@:*!?)+WK: M0#G5O*JG*1KI=?C$LYR]M\KUO!BR?_YCY/WX!Y"B&J7Z MX$EK=U$N'%+"4EO_YIPMK\\$'D;/?,'R*#]Y<]NG28D ?D)V*1\I'EDL>!+!O@\$)C2Q_ M#B^'[->+BT_#?5ZEWN$+E,S-6WRAQ1"F$G2#(2MZ8Z'ZP3/X@A 1;-U X;+[S6, MK]8BCU ZA^POL3G* A8ZW(L:\&"0,%GXP,-Y@6 /@U-25I/Y?@ >@O0_1(]2 M*2%%]QE3FBAHN*O)MFZI_\!8_*4^!027;)7*7!&*9ZIRY+YYK 27 "$2)P%O M":(X*AE[/_Y%,KYP<-60+,6@)0\J_EH7%Z^Q020X&( MO72SV3Y.'\H>_W@MLNM(W)RM^GKPV(+/[]AE&O,,;),D&++7*#=ZVQ+\6.*Q M_C/\T:J_N!%W/P/$W'P(J%9]7LCJXS?LAB/B%4DI:_#I5 EPI RN- ,#AY=Z M",>AC#D$B9\ F<',$\IPO5B#-8.6D8,'$2GYCH4ZC AMWTBE%ZT+'R0#;@6# M#I7/:R6V[S]]5#_?6.JM)<9OZM]\<07/R#.N3BY*]2 ^HC#/#L M"Z"-;FNDQGB[ B:M9POT?%_-]WR-I8>X#92H.MN)76EJEL";X1I+Y$(D?O % MT[UN >U7@,^R6*/9BV:#,A9@\47.LUNX?I'?Z).B0G;-XT(,P"B ZT0"Y!!Z MW26*?8"JY_*^QX.&P$:KZBN@CXC1%,[2X@I4:JZ6-P2C&-3-"G :Y'Q*"\EROVD!8KA[&)8@:]P M4SVT%$,E.'*0VLW9)[BG49++DR3%/6"H1@@$5A2H#-M/\!-64>]P$F"M5!VG M@N?!#>X.Q*D'LKW.]1" ]98<%HC',F4QA_N+]D, '@DP467RAA&\4&HQ;G6UK.ZK&D_ZTUCE)5O#<4Z3F_+ MO7;#H:#FHFG-!\PIKA1-MB&VQ="[8]@01B_YE&LOH;1P%!A/ZN671EL M.(R;-(O#&]PG!'&D? I /PFXQ?0);H 3>5;@&H!HA (/P;38.L('EE7,"O!1 M(F'%!1K\0886HQ)6+?_E(H7B&HR[-VX#6+00I\;FQ5@^"78 MYG\7L,47F59>%XB[,(+/XBN76MDLN50[ARRIMB:X#8C""/;FRM^@;H+A1]QB M[X"+.&ID^%K=?0ES7+*+!6[R2:T\I%82)E8"1WW%KK+T!B@6Z$52YP>& K8D M&^/B?Q>K-4@U2#CBZK\*0#!@2':)'Q5KR5[_[X__NGS#+H)\R/ZL<10_Q,\4 MDXM8>TJ :H'X$3TGZFS25\O8Z5M@(=>8WBK&>/SK7N M[P0.F$?A9^R'_VE0L.#_B-O:5WD!%FN@EAZY\M,&?7LB](>BV:]@N&6) ND_ MQ%59$@!ZJ)4M^4.#?+?DR94&=\0&I+RGQ#-QL A= < M=8WV!8 >&%': N 0%I+)_@6CO:)'B?@2]GWH]2%HM:.4NL^]9[26:D1%2$L M4_8.>K2T[5,.OK(X$-[$C3*(WOWKDWH0@/:6X;J)"-Q61-.V+. [;AL!&I<1 M/ 9&MRCB6._]HH:SLIJ_4)J^BJLH:VZQB (T'901);@^FQ4G6<45)&*P-A$6 M6AJ'[&<\95N?M* 7#E86C198B37'I!?@O"Q&OWE^(T2YS(D*$ESBYE7/O%3G MBMJQ'D^Y)\ _]-+J-53O +KFH.AS_9X&=U17 LZ#'5":2R7%6,9O&E/1E@O0 M/U'6$BX*&E1ZDY'+C3V<\R\P[LH?ILE8FN,8VM!FKM=BHE "#:QXO>2P+D+$I4$@@RSR,3)79&K=X:(/ M*2C.D:7]@#__72"3K("=TK#QM"I8LQ/7N>N<588QAH M-K=?5=[_YMB53T3" MIT%5_J0F/V07RCVZ=63D9JN@E@Y,SEC'GM0#(^4>+G*)9C+ (&(*7'/B$760 )6%#5\NQ? M^$/U65*;3Z!3$/,R;EOOU92>:.ZQ]#;-*-7V8M\R96UU,6MK1%E;1V"/]LWR MP[%(:;!J^*I\8,H:$3'8)5K#\96?*N#]':RK6]F$8'5MA<(+/$M9GWE5JK"P M4&H+]8WKE:IL4,[\ZYJ7:AJ#3NAKU:Y2]8*% M"$6F OI@>J')_96!K5ON0, .YC5[PU8+!PQ8NO&VHE7!P*Z*M-.S.9PJC+&. M>:#W867 0YM]8.?!\S >5LC2:_D^691N[#]$Q?$7VF+7MLJ:JYPE&%6]97T' MPI6),M9>"I,RU&+8".Q1V7#2 MXJ<^S'*A/FZZA^]=CWH#LDV>AJ4VQ 65VMI4:UP/0BTR^M7JAU5[")[#=HTK M%_W(U6Y[,,A$T@P/QFE0Y^+PQJ:P]B>K^":.L%QOG +<(<&:K%8=YJ;20,(- M()4\#48X;$$RG=%FU7S98!/+@D6+9 MQE&CB*ZV2LA#^%*8-6SH=:H0IH[$ 2AVB#X,!:!SZTNOU%7IC'P?M;@IRI3 M+10K_'!WR_O MF&9WL##,^U/51O8)PX84X&JV#.F)%9CMO1EN+W'_7_3I0'+ M7(85RPT5.GAP9+7[!0?N. MAL@FDG6IP>"= @.S]/C'0J.\%C^NO"L;#-;?H%E2PD537%4DKW3Z6!K&T)^@ M?1RK5/F4U451D*6# +?4RO=Q ]:8XOEM0I4[V'?:(U[-85RN+;?LLU"#C.I125BBZ52Z,6 M"L/%U\SW.5#1=ZFMRH-T-($,U=E,"IGV99=NN1%^2RK MX3+DF@"^ -E,2E>MRI_$$0V:(\+L934#&>D,2$#(TA;&*=37E4E\E7XZUKY5W6*W<./WIC=:8K6W*BQ4_%JE/6L$ M13<)5BB" 8[3!#L"J%GQ8460!N27N;*J8U"TUOGG&[>:SN=68K)Y>X- VC+@ M#0L(;Q,2N*,.."A#2I;\5XVA9&M1_55!^B8=%::ET?2.\Q6D=:WC\,I(*@6D MZ7+:*'"52=OTC^G8,KKQJPQ)=4,::B[?D6],9=&^7+'CK\48]@WHC5*,>19) ML2,9=QQ?N"E"=I$E4$CEM<2MTU>.BG'CJD1_H_)4*H)L,;U:G#4&!])"8@Q M)44%:F>*7U4ND\--=5B])D M\#*=HC3R=B:J_::1"D%L;JGS*'"698K(-5 2)O;@BMPL!?J ,_BT#%74[D25 M?',O/F\+E*+@+\+/"LR+4K(#C]E*N-%>8]@[*Q,%1*H,C0R0EVX5:!=QKFVO M;-5,?RD4+5=<55< NV0@!_6"E-"+)0:E!#3S1>"^:O8<:=T$OBI'0WF^X0-K M0V-+ 8_Z;"O'"U\&>J,LVPC9%9I$FBS5#F[(?JD]^9N"F+*P024>UBY^9UKZ M^/\H@T2:$HK>NGA:/MG+KS4,6(L\"ROS]YL$5LQ6YI%O99>I-F=K&&H 1"OM M04TJL-<&*LNMS'&L3.TF_Y7+4^',5HAE&T*:=L/&P-B*$)&!N66D_0ZK>\-S M()1../O]KS+A[%.=MP?UCOT9G-!5/[*!"BW^'5%%.S>UH6.>Z*.K-/Z--BI%,%R@!B=OFT6 MHBB)5[F')0C7%&T$J97!589NM6U[E6)Q"NP %;(R9,#=?($-Q8"C[B?'YI'5 M0X;J8MRF-N9\RQ1I=+&.6I>F.8WQ>X% @X91"G-E6ASJA4FS>E&4)KCG$5MC M>,+K\9&-6^4.21X?266K5<06B3[?9"?M$38[H=)SM>:Y"Y<;&Z#H@A+%>8V+5"4K" 9L&LLD.BT':H\&\B99''T1>D^[O1)6N5>NO+G;+$X* M;+M8?BL7XG,5U=!^ID^PG4B31,2&*2-E)N&X<P M50OOIKEL[*Q:2$ISMLG/F^2.>O/0>/8=9Z)V.ZZYR@:JM1E77CVTFQ=I'*4J MY)2C"LS+#"CMOP&^@(UV)BNWN,9QOM9 4J5ER #TQZZBM!I9,4H59TH]82E" M(.YLOWJ69%ZIT')%<4>NDV&5#?U%/+B@]Z^#6*GD"IV@]P5K4XWJ5M26RL3>ID^3@0Y62@YY>"6:'FL^ZDBQK>__<^+S2=II:.B=0YY74 M%<"-J[%<7\1KU&%A%JF-?UT**\HDMT#QD,YPU_X#M+]4E*BN/M \IS>I6W/< MV514O';7*Z'O:O)MDV[;NJR6%8+E'5BN/3#OX@BW9$QGC1H&Q-7@2FL3(Z5Z MDZ :"U36R%:"7X-]MXN@&MZZLO0BO0%);NSG%8]B9*G,,;74Q:5'90?@EUCE M$=P='L9GFAFJ&%*IM[R)N-([Z,I6VJD<5Y"!73L49F9@00&P_$=C%S:P4,FQ MC9!#>?^6A(>E_'S-,7X'S^'*,R&N-9BI-@$X4-PS%$W_GZH[TY*FMS_UH[%B M'5&ZVEV5GL R22[-=#@R;N0#;O+X:H.M3#1MNI5428S&UZS&V&J]8$+E>^ / MHYB2DM#.,@G-HR0T2D+[)D44'H)FP8I7S."O=H^EAP!P,=-@K()Y>"6O]Q1H\6EQK/C M99"EYUAE':39+<.$.'C[6E3U#[G:F6,D]!JU*5J.*,%]S$ "J/OBZ%WV#)%5*VP M%8&M1WXG&%<:,8/*(Z@[92F/'GY]C_FCG&8J/%"Y0#!=:%.[6N6'X9Y!%^0J MUI&X78$/,16R,NTQ]E?7>6"D:QITEEA6I?5<=7=!\JU*50AUH44_Y M097@JFI&96-HAQQP8IDW5T:X<+LIRZ#RQH\:)=M&R!)WH_&63%7E 2!]6)&/ MT:$B\]6:CMQV\1+%JHO)=&F7:70NCP7#U 74G%U]CT MAOTA=,E,LQV/[J74[+Q5@O FR*W^4A+!?0R4E1&VN'Y'Y0%HM6#V $P)9AU4 MDU9AM,?[AUGW=*63VM@3I6%6ES]6^G7CD-2=WU3K@-UWX6,V9Y3%8/6]CM[H MGC8*?A"/7I=)S$J-OVED@*-6?1U%;[2?##WH[^#(40,E MTO; M7/ ZNGZ#;62R//I/G7R,*02)RMG%)\,%JJ=1:7\/C$Q!O M4(\Y3BX65]C^4^#M$O.]:M.@+A]4)K..?KTN\W_?;+RRH4HHK]-N@*71#+G2 MS4$K(P;0&3 6N^:"6' M;2$TO)1YX]$"W5^G6ZJ'%J=:@>&V.$:;YARP-'?7"SV"#734M1 Z$0P'IN$% M;R[3+:H#!,O3!;$F%IMDP/5],?\.!Z7[X6=6A=7TDCT(ILW(3IE7*$#VHK(\ MO]PP^+< >FGVS4:D5K,3Z5]U']3]^I]6'4AOFM4%XK9J/:0YO4J=UKU;=5A0 M9[I6C+>5[Z*C+9EJTJNVS&5GT50W#4NN4OQ4\RYLV_21EVK_KK=H2)V;NLEH M-2Q-Z6;?7AWHSD0C.6=+7>UV8MJW+^ANR*[N(Z&=^XMM9S_F?.?BZJF]9LY+ MQ%:8A:ZA7;60YF60<2_9*QDD$POL/J14EV()+I=:'\#:Z]:F(%%E2BPBTIV1&6R0H=' M)LL^ U(U_,,I5!O^7>ZN9&7C:*OS.G4)5$.WJ9[INN?6CG&V0Z?M8:O&77?U M*!"@U*1WVFR7BKELJ%3UYZ[*<70.3I7,M.?"ENW'L1&*\DLJ-*CJ$!3C2%4N M!!*]*&(E=BI&5G:X520LP;<5(9Q4YQF;*8;_*D%?^P'@EY?+8MEZ60-VS=RE M[PICF]J8S+2.W.[ZW%0>MW'LIM6C1'D&$96JH#G;H=X]T>S'<2 M-W>3OI)JPW^W?;.E<]5K):U[)V=E2V=19S[KKLM@7.-X&KUJ[G1?5CU8(JDN M+?OGOS4LR&5VR*8W$;TQ1?0>9P]=T7[/0?*\R-/JM#4<"\@^#ATO'^CVF/#X MKR+\4;_*L>VA_:JZ 18]YFLIWDJAE(BH:*#.2=3/_DX=7_8_\GI5T,&ADU[? M5O>7%S4/EM.O/'KGGL>V_H>=Y+'T(#,6,@]:%Y M#:Y;:MR9K?-[F.WN*8;ZB,&#GM9;8<"CJ#-K4RO-#G^,X4D(?4K"[H'F1R(K M$!&_^:_O'.^[X]-X^U!.>XAG4:,^\SJA=F)U0FU"['YQ,J&T(:KMC M:S*:$*_W$[5;IR]!=&?9EB":(/I<>/U>B#Y$<.'%\: N!A<.MRY_E(UA-BW. M!F;7!?91F9XT6FTB])MFQ!"MB=8=IC7A"?$XT9IH37C2;;H3K7M$:]K<$'CT MBJ&)U@=.D&V2; RW'LZGU>Q#.J[Z/Y^-C^O34\]ZH3"2,2#5$]=Z%RC809AO M#4JV*R$+<:0L$.???L1!#$T,3_!*W]H%;6\Q6L8F7N\O+ MK=.08)98DV"6K-S.^^4IP?ZH G"Q2H$Z_^$YYMBG"Q8*/V>1E(5@02ISR:($ M_MWVW5.XVQBU2M%!"G?W2JT20Q-#=\=Y1-Q*W&H@_#K3\VTU3;Q,R$O<>N;< M2H8O,30Y&0AK^\::A+5DY7;#;4_I]$?E_9\$O""(M-M^;[<\1;O;CM6>,RC,BAB;X)6X];VYMSU4T? S82]Q*W=X=;6L'=JC>T]6BL0-YO"S:W3D("66). EH"VVXYY M2I8_*O?_RJ.$+;)TQ<)(KE/)8YTR?RUDOH)+L/5\D<#U,HVCD.<"EJKP911& M/+NMUOSAF2"A!MYP,ILW_U$+^.PY3H;31R8)XX\PJO V$S'/HVOQX+1?W:^N03$S6?AQB)N)6XE["5N/@=N)NPE;NT. MM[:&O2/'(5[N+B^W3D."66)-@EF"V2Z'$*@8X:B\_S%?BHP%J@JN4*&"BEK=<;P\]3]Q,W-P=1Q9Q*W$K82]Q\SEP,V$O<6MWN+4]['4] MXN7N\G+K-"28)=8DF"68[7(0X<5AL]V@01>"!'X:AX?@[(OPWX7$ Q2P<=&O M%Q>?&%\!<3"IM9T]+C_DE10 MZU)'W3)(WY"^(7W3?7WCT9:G U+WZ"$CIX@W&Q%]ZVP>!*GU>PD+9,1O_NL[ M][OS3)7H*T,3K8G6A"=G0W>B-=&ZC[0F/"$>)UK3YH; @QB::$TYX4;EA/\Y MO!PRE0N>B)S%J91L+6 IECP3;RE$923<4RK*Z>">:$VT[C"M"4^(QXG61&O" MDV[3G6C=(UK3YH; HU<,3;2F)LF=:)+\4Q07N0@IC&$D]!^*R,],XZW(=+J% MV8"D$5+QX8>+]B3B:2FZ!BZ7:HUZ'%@_*,%$>R*XENY;L6K)K:>MMDDHF([9]K"$C]EXCUAT;*3%DQ#ZW M*+D?Z9^F*0>*=5*LLXL;,J(UT;J/M"8\(1XG6A.M"4^Z37>B=8]H39L; H]> M,331^L")G!WW2AES4-7=XF3VNK[JYT^7;_:H5:; 4H=BWX1,E-]!M.XUK0E/ MB,>)UD1KPI-NTYUHW2-:T^:&P*-7#$VT/G#?/:I5/DYNW-ZURA3=Z%!T@VHZ M3E#3<9+%HIH.BE=UFM94YG&D,@\ZGJZ],H\GG,=-9\\96*M,&H+L6K)K35 L M9-?2UKL[A"4CEHS8WAFQSM1(B2$C=L\#E'ON,C=->5 LM)NQ4+(RB=3]([4Q M%LV9H>M0W@7*-A!;FT-HAUG;DWG(VOF.L33Q-,]0&"R]LC:,V(A M.FN!T#:2U*"A%.R@&FS/M+-=RYEXEC=N[5#??O-TY7.%G]R/A?KU=-/%8SZB MQ>TSP7%V*"K@9-6T[W/N\B)/JRII' KF\L'@\?)!S&_3(H?'?Q7 2>I5CFT/ M[5?5#<"!,5]+\5:*-<]X+BHJ*/'2S_YNU]=]'J E0/O(ILC4SV(^^ M+R>^YH\V3J(%..8"?"PR!M_S*[&"#YCX&L1%"'?F2\&N>)2P19:N*U$P6M\R).0I2"K&4BT!!F.DJ#( M,I##10KRM19!M(@"0(H<['!$!YZS&Y$)EJ0Y@T6+$A!4^(55[\M3)?GI6H#2 MKW #/_$+P 8A)4EU!Z0Z(*DV3JHO!5;:)($H)56)82VN6LN.E#S#+RX+"R6, M(/%Y5H">SE S!TL.ZIMDL LR&)(,&B>#'[2?(9!'G6Y8R:%=XI]*8E:&,5G%Y&;_*A+;3;Z)\R3@\ M(5;&,FRM\UN+<R]Q=[G8L4?/GX3L+KDN3F< M ^NTLVTY.&+"9%MS ;N3'4HLLXT&N!(:[@=\ 6-^R^,;?BM__([]<&*:M1KB MZ; ;TYT.IQ/G$5^F,YS.O,>N>>Q[;^A.QR]]" W$C($\VU@W*VA_*/-P+[5T ML.B)@2'[8^Z$VB%KG0GD>"=(!=IN"FP/L2>P\DV_J+/_<=G]91U ]G8RHK=O M!7\N)1,)[A_I5(2;'5!F@BV"+;,6!:RM0BT"+3,(C2! MEMF@1;961Z2)#K@YC,3LWP@')"4&25%.R3^'ET/VZ\7%)VKY;$S#EL.< M\Z M64]QOOOWU-C9B$S^UZ.YY3A[9#T0KS^9QGM$C?K,ZX3:G>5D0FU"[7/A=4)M M0NU^<#*AMB&H/474WB-OCWB]"ZC=.GT)HCO+M@31!-'GPNOW0O0!SQD[K^#" MX=;E#VRM$T0QMM"!EZXD&YA=%]A'9=K6*1/&0+]I1@S1FFC=85H3GA"/$ZV) MUH0GW:8[T;I'M*;-#8%'KQB::'W@!-DFR?!$^\/YM)I]2/')Y^7C^I2EV HU M3=1A$E$2I"O!NXAQ8:.<>[A=(_S#HF7B9=-LE&(6PVA M8 >YM37D_><_OKJVXQ%#$T,3_!*WGBFWMF?XDMW;859NG8:$LL2:A+)DY+;* MT ?,+R7?_'$$X#TB@)!X\OM:)%)8+!$Y!6F-T9M/)NP9P\SYAEO;VYW,/>)E MXN4^^X6(6XE;#43>_7G6^3.^)E0E[BUC/G5C)\B:')R4!8 MVS?6)*QM6KGNA'C95+<]I=,?E?=_$O""(-)N^[W=\A3M;CM6>\8H0]'NTVO, M^1[%OL3+Q,O=\0L1MQ*W&HB\E&=$#$WP2]QZWMS:&OQZWI1XN;N\W#H-"6:) M-0EFRLNE/FDT?)3E/KB(_IA;T!FE/B@%2/-M [>G9<^)EXN4^NX>( M6XE;"7F)E_O/RX2\Q*W=X=;V^CN.J/U\AWFY=1H2S!)K$LP2S';9)T^I\D?E M_8/ MSP0)-?"&D]F\^8]:P&?/<3*YP*\$RP?)9,#K!,L%R=[BU M/5AVK*EWOCFN/0?FUNE+*$PH3"A,*&PH"E,5@O&AC@]I,@!ZYU$B6"RN>,P6 M8M,4J(,Q#'\/>X#2&]H.SIL-H%V@(-D#STAOF#G$R\3+??:'$;<2MQ+R$B_W MGY<)>8E;N\.M[9VQ94V]/4Y?)VXVA9M;IR$!+;$F 2T!+95.4#SAX:Y& LC# MDT!T.(004$J!.5J^)S'8+E"0M/S3%\.U[.GY9A00-Y^%*XNXE;B5L)>X^1RX MF;"7N+4[W-I> ->R1WN<64S<; HWMTY# EIB30): MINAQ&H+.&HW/\Q7XJ, M!:G,NUR+$%(M@CEZG@*LE"Y@H)X?6:Y'.;'$S;UV9A&W$K<2]A(WGP,W$_82 MMW:'6UOT;\UM.DBGP]S<.@T):(DU"6@):+L=2'AQ\&PW<-"%0(&?QN$A>/LB M_'E9#^,J?HP_9]>POTB& \98E(<3?#AZYGV?/'

6%"M MP.U1.S)7O_TLI(Z:@Y,*(A5$*JB/*FCLSDD%F2]UI()(!9$*(A74.Q4T'EN> M9Y,*,E_JJ&T&Z1O2-Z1O.JYO)I8[?OPL/=(WK4O=HV>.G"+D;$3XK;.I$*36 M[R4LD!&_^:_OW._.,UNBKPQ-M"9:$YZ<#=V)UD3K/M*:\(1XG&A-FQL"#V)H MHC4EA1N5%/[G\'+(5#)X(G(6IU*RM8"E6/),O*40E9%P3ZDHIX-[HC71NL.T M)CPA'B=:$ZT)3[I-=Z)UCVA-FQL"CUXQ--&:.B5WHE/R3U%CO8X3_ $$D/U'*0AR*XUSU BNY;L6@/LVM:U0F<)2T8L&;&],V*G MCS=J(B.V]:)DR@EM13X8!4>-W$E0P(Z"HT1KHC7AB;%T)UH3K?M(:\(3XG&B M-6UN"#R(H8G61\O\/"^/U?&.MKI;SUU?]_.GRS1[%S12)ZE"PG)")$D*( MUKVF->$)\3C1FFA->-)MNA.M>T1KVMP0>/2*H8G6!T[*HN+FXR1M[5W<3-&- M#D4WJ CD!$4@)UDL*@*A>%6G:4UU(4>J"Z'S[-JK"W%=(R6&ZD)(0Y!=:YZA M1'8MV;4&V+6M:X7.$I:,6#)B>V?$CB=&2@P9L7N>N-QSE[EIRH-BH=V,A9*5 M2:3N'ZF-L6C.#$W.G>Y$:Z)U'VE-UDGO69Q(31N;/D''N4,VT;IK29Y4Q[S/ MTORE'B?" 0>B\"L!@+-:I8DN8)8L+7*9\R2,DBLZF]E,\#]"&@(9,T3J_I'Z MC-4LM<0A'B=:$ZU[@2>D,HG4/2$U;6S(%.D50Q.MZ5SF?I]9XLD=),/$T\;1Q M"$S6'EE[1BQ$9RT0VD:2&C24@AU4@^V9=K9M33S7#Q\D',;],BA\=_ M%)6R1 MI2OYTK?B@R0'9(%G MN;;KX/TIO#1*KH7,U4OA&R!$D<"S9!I'(<<3CV3ARRB,>'8[?&:(C.2X!3GV M#9'C^PRXDZW( UJ\K47!H\7 #@11%2P65R"A"P$W9@)>*U'P&A_R)&0IR&H& M$BU!AJ,D*+(,Y'"1@GRM11 MH@"0(@<['-&!Y^Q&9((E:#'+4VI)0Y$$$WG4&FY MFPR'DBX6J/8RL0)+&N4.1K7F45C>"3)9Q/F6I0S:%=ZI-&9E**-57%[&KS*A M[?2;*%\R#D^(E;$,6^O\UF)<,K#=@RSR47$7F1HEC.]#F@OF3/'73W E>V^Q M][E8,8=Q/[T60W9W/NYF/IQ) 8- ;)$YCV,U@#6_53_5"'!L@#&0P\ ; R80:']$?!8*?(\UM,& MDL@\#;X,?"X%DG&U%HG4Y.(W/ OO$!4I^/[31PM(GR[ [( KFR9/)JXB $;] M!)A=KM^SB&(%DVH\ZR*3!<>)I-7CU+WU=F=GO'@-#_XNHI(*,.C_]?^RS[!+ M^B*R;T+NBWQ/SJ/,W(F"TO\C;MD[6-^*9$OX = M6I!H?2F^ZFT$>B(*'J3,'Z@8"M&"_#Y]C"31#ZS:CENOM%) 2'F&NA^5').W M4HDSJDF0>Y@:O%GKZPVNY\M4BOK2"%5WD%XEZDJP2N!I,#!M)Z39%U3@8/Y( M*:3%BAP4]'^4290 9JR+G*T$ET6FQE-="5"C[2EXH'^KM/EFHP2*&D&E-&"N MM<&*29-KVT(88$ *VT0%+CQ@Q0 M3%E!"Y'I[18Z2=.XG!6:>??0"3Z/L@:)ANQ!@@/W1==1B#Y7M/QVB0?F%F?K M--*N5:0B$A'?<0-H68^F&J)DVIK2,U4F:.VMJ=R[.X.I!H+7EK:83!?Y#1Y: M#T*%T+T[J&*=;JA2.9'5,+2G2+,)&$B;-Z'G:1FMUWJ=0P:;UE#995)DU_"6 M!YEF,Z&:%8 0*R&475@_=:79?I$5JPIE&P MQ/>$,*QK-/PKNUG*5ZFF" M-$7Y+-%& M2&!Y[O AH?(] 9Q*=F2U::O "E;M6L3HA 70U!#- 4$!U6X2O!R7Z^=/[VKR MII5O%XPTF*SZWB^B."QOQH6\NJVA<,A^ ?D0'#ED TGZTO(:X""AN0XN47O$ MZET;Z-P,/\#%5Z*YQ#E$R$&5\UG;_!8,+09&S&[9AN-NE/ "&X*D],L$[&H6 MFPF3;6W5W>D.)9;9QE5W);1?;L 7,.:W/+[AM_+'[]@/)Z99J[EX)]\.F8;: M&M_2L$"#TA?*-UADP1*5M(6>)?A A^/R)7P)2/M1;XOK8'L-@P#N4:KC=-\V MQ)O.0H!:H,(U!NU"L1:J01>J9)Q5I7,K':)\7=<\BKG.R<'OK]$0CYMA0["_ M=9"O&MB0O2N'JU^FS"LT>ZYY7!NUH@H,IH6$9RGCNOH0"!I7D<,0TX"R+F[P MS\X8*4U'M!GY8J%W4KC[TB$G9?<"B]NG]<.T+U=P'2)#*P;7=' M@38SFLP)#EJ9]&!;QR@]VM0.Q0I_@-Q:>@-9CM1JDJK\$&3AJP5V-&QF^'J) M@?CH:QT?J&AAH3D-4T2K2GO'8$>!)MT___'5M9WYC_734E@7) +#'-7Q+P&(VL* \7G,)@L#_G68ESS6Y MI805K0PE*S-Y.5> M&%6F"D@E93)< 8^H+M#/38J5KST=V^A1^Y$>0B3<,=V@M"6U$*-_RH]44!;O M#Y0;3#U@\TZ-4R7LZ1FJG=FMX-E6M$W%ITJA &* N((]"L*2JE3 [ ML#U7W M3GRH>D)I#]3PHVFG9>T&/3<9P$Z.**&&"WLV\76M+ -XXE6<^AAQ2],<-G0Z MBI; >@N K"OE?5"O!*C!J92S +S7.%X"!8HJW(<>G HWE6NQ)+URYNF=KD8R M]"S!?4*]27^2I-?:SU=K!+71Y6&H_$/*R8"XJQU#P3(!5H>MKO+L-%Q[F?B[ MB+)-$&('@>_1)10%>$"FWRGWZJ*6KY*=I52QVBAGKS&F\X:B!)U"ZK_0T/&W MG3P@"5DX4$D*"B-X$FGC !Y4+'!#DXG2)E)[ART;@84@;P'"2QE;K\5-PW-E MU)3) _BDAMF)(W +'Z!KGQ-S9'B/*M_6L* MK7,A8FT*@=T'*+3Z<>.\UX-I7BXP?SI#RRU57C;%[(#,?OI5R!\WB(.9.#5: MI4H);(:P!?\_L@IB&V .+..(,.:1_F07::K:M;/*:5KIZ'T &I?$PM>37N,L(1B;*NW%KHU[$0Z2#-AYX7NV-D/54RI6V5,#^ MO(*KJJPR%%R04JFW.UHL-[Z9BQ],<@2[-ZJ M4+/>,FT]3-L3*LZJC9(01E*F-J(]4%XW9)\J93:H_,$;PPGQ:(46$@;_5,Q- MF0:5D5!N=]*[4]' I4./H 5!;>*0?1@/4 %_2Y-"S0(5>*3RP$KA?RB;LQXP MZ5&C^?HOY-4$7IQFP4,8DK)2:@T;6[445# M:K_O@\KV?8+^ ^6_M'9$0PN5,C%\(9(M-^;KZ(VZ6CUF6_SU&TK#.,VB*TP& M%]:6=T,D2^6*V'8:OX[*IVHK= 0UO@]@=S,8J:-:B M<2G3(%)8I;:3"M4$;)6:MLN6E50YRO=CFH!!]%T/T M,PK1MQ^BGU1M@XVK0KBWWH -V.=E)@3[':Y;2O9S@N4QEV*="^7J']F6WK1A M_0(ODTR?[0_>.MN+PW.%D[C[2C\,9>J/Y8]<\]KTS=)SI2Q\RM!WOI<^P MAZ[]XH?TBB+.<#YYWD">77!J5N.Y0Y4X[F4.'*P#D(%MYXY9S=L.6>MNEHYW M@G:6)>Q7)!F.USE3M52L4J?FL?O+U/V^RZ9U]$KK:'%71[V3@ M*IYL MM@VQ=N3HMZ MD9:1\D):B>QG BL"JWK5/M4:OE&[0M#5!8DBZ"+H,F-9R,XBL"*P,H/0!%9& M@A7965V4J&\X+E4NYE,\EP$0WS9>7%A#?EH$"3#RL^ M%)'OE?WS/"2::$VT[B.M"4^(QXG61&O"DV[3G6C=(UK3YH; HU<,3;0^E..J M]#4V2:;N/9PGJUD+K!Y]7JZM3[K;A=DU)WT$_Y<3-DE-)NLV1Q^'>;\W(M1G M#,2W>#J'Y4Z]LV7U+H!%!]F9@)FXM3O!7W5LH=BWF?5H9 >'NT7,CBZ1-2E)R03_;0\ M">.)GPGC3X+QCCV<&B@0YD"\H>$+@G\#H8G@G^"_8_ _LFQW;J!(F*, >B 4 M)K(\@3SQ,X'\24!^.AM.#!0(+N8S/+N;R.+D^L\?28)W 1.Y\A.Q/X$K=VAUO)*#XOHYBZ@K?.^>]2F3<: MZ5-W\)/K2FJ@9YB-0K0F6G>8UH0GQ.-$:Z(UX4FWZ4ZT)EKWD=:$)\3C/:8U M-0SO@->+&H:;!D(]<:5W@8(=A/'V&FVYUG0Z)G8F=NZV54+<:@@%.\BM[57E M>?M4Y?6$F2E3E6"Y'YS,',?$E7)J7\LT:#.WZ;I4.H891"-J6/4(<'<9SZOS=,)XXF? M">-/X^CR]CEEZ8P@WM 8!<&_@=!$\$_PWS7XMR93:@O;4)Y(F?">1/ M O(SZOQMJ(U/G;\[$'/1G;^#[28B5%9AC.8^3."7-/T80;^3VC."?X)_@G^#_N#;^Q+)G>YR^?48* MH ="82++$\@3/Q/(GR;./I[NDV=U1AC?Z1C,/74O[O'J7MRNU+WX:1P>8MU^ MS5(IV3I+X6/V.H8_WE %C#%J^S"!XM;)V@4*=M#(;.\$5FLTW<.O1MQ,W-R= M+1-Q*W&K@=CK.,,]FJ?TA)D-#5?TF=$)E@F6N\.MK<'RZ[DU=O;H]-H3=CX% M,+?HF#"1U0F8"9B[PZWM ?-^X8&>'<_4;L 8G9/V/:Y'Q M/$JNF/BZ%HD4DDHKC#RNB#(ANA>E)UH3K0E/SH;N1&NB=1]I37A"/$ZT)EH3 MGG2;[D3KSAS/2IWT=3#4=GR\N4UTJHW ].[@(%.\BM M[;70L!RWM0ZWQ,W]Y&;"7N+6[G!K>]X(=S@[6V;N=-.*,NA"+OYCB<:EB&-, M;$4//XSYB\ T5\IN-4:C'J:[3NMD[0(%2:,^P\=DC=S6>D41-_>3FPE[B5N[ MPZWM>9+L86NM6%MG9D,=_'UF=()E@N7N<&N;*2]S,HF)FPE[B5O/E%O;=/#; M9\O,G7;P4P[_D47C5Y&(C,?*P<]#N"J2.3:SN-[C>%#*XF\[ZDNG2K0>6:=3 M)9[99M7RG-9* 3IQK$0/A,)$EB>0)WXFD#\)R(]:; W8"8@W-&Q!\&\@-!'\ M$_QW"_Z=D66/6SO'IA,*H ="82++$\@3/Q/(GP3DI[/VBB@Z ?&=CL/<5V@Q M/EX<9GQV<9C/:5,]XC"G)$" MZ(%0F,CR!/+$SP3RIP%Y>]1>]7 MH\_/E]<)F0F9N\.M[2'S>$2'71QWIT/ 3,!,P-Q1;FT/F-V)-=FG'59/^)E, M9D+F?G!R%RC806YMTYGA#,_W:,[V;.8#5FD<+AI@P!J'6-CU,U(R=S&6"Y6YS<"EJ+P911& M/+NE\@!C%&M/0I!=H" IUN-G0 MAD9]YG-"94+E[G!KBZ=A>_LDS1 W$S<3]A*W]H%;6\/>V7!\MKSX_E-[_ MHG7YF"]%1KG]9NK*G@02NT!!TI7/Z2!!07'*53K;'4Q/.+D+%.P@M[:9VN^> M+3-3:C_A]D7BS03+$J"="58SK^*/$NT#!#MJ9K9Z_/)U2AH-AH9,^\SHA,R%S=[BUQ>HY;S@_6VXV-:;1 M9U8G8"9@[@ZWMI@1/+:FL^G9\C.9S(3,_>#D+E"P@]S:HC-C/![ND2K:$W:F M:@W3UN"4O/\I2Z\C&:4)6Z39&^:+1, 5NH#C93$!JMEH.]),T7R*YG=-%4^H M9J-M94TYNP3_!/\$_RW O]U>GUR"?ZK9(/PG_"?\;_&(BC&5[/5<(DSD=T)X MXF="^!.5:^R1G'1&"$_E&E2N\="Z?1 YBU-)Y1GF:.K#A("WDYZ7/*>N-=(09.J(+5"8]<.B" MD_'0,U(JSDL+4%D*J0%#U !M%8R4B%9+7R;[-.,E)4%;!=(1O=017: RZ8&# M%]IX0_(8M:\&OEV. S\Y$$7]^FQ:..YC8S(JUJ(OQ5>]C7(81? @S?X0UR(I M1$4X(\?(&LOZX.IYP_%H].IP2SBIPG!Z$?]=R#Q:W!H#.G\)=B42D?%3U=3P)V:7(KJ- 5)\-[UP420;8 M$EV+4%=.Y4O!) =@21<88^89RS. -9$Q>2MS >_#QP9 JG0%LX-?T]4Z36#$ M$NNPX/Y4BNI:"\8:1M=16/"8K7F6JT?K"P. .@Y3D6L11(LHP/=)'?\$PPX">12"&'N[/$\J^X".%%U0=J:G(9K==1 MOH3_Q?B'U/?"6$4"O"& &/ IGO]3Q'EU]3J"8>1"YMMWX*K@X4!!%JUQW.4( ME;I<9Y&LQHAWK=)0Q.IA*Y@V+#%/ KU&LEBO4Z1-^5Q<8'A_(A0MV$V4+Q4M MODF#'?E1.'A?[)D7>5HI%.1B&!I"&5X^B/EM6N3 A5\%:"?%D8YM#^U7U0T@ M"C%?2_%6"EA-X,M*H)2VUL_^;C<6CT5Z?A1'^>W;ZOY[8O+Z=9X[M.?C5RB" M]RG8,7_Q0)SA])D4^48*R.QY&2"' MW"Q61L&CELCL0$;9QDY_QE9QUM$]S"D)NT="QY'("D3$;_[K.\?[[M3[Q$=2 M! UA]Y>9M/LNV^=E)@3H^"1?2M#_H4#3:PTVD ^6T\BV3-GKWY\\:-XJGERZ M#%(AATE_/B;VM2-CKW'CLTP+"4:S;-$?;/[ZM*R;7%)-!JDFUW9'1@H+J9\6 M(UEG36A"*E.1RB6DZH( $5(14IFQ+.T@U??LW9(G5X+0J@M"1+Y(PJ;SP:97 MA$W=P"9J(MMZBD69#4$M8HU))#U,QX36R6IH(4&?>^&T!B+NU'*G>Q22]835 MNP 6'61G F8"YGYPA>PHH/<3+A,N-P/3F[/8!Y9TU%K M_5);9_4N@ 6Y+8@U#:4@(>W3%V,RF0]G9\O-?6A)2I[]_=:E+ DT.R9\5BKR M&+7PU!O<@&@[J=G1?@& HTN$.;TA>B 3)G(\83SQ,V'\23#>&5FVN\<1$ 3R M71(*$UF>0)[XF4#^)"#_>FY-QWLT/XT:#_U]CG4 MC<#^L&!_M!!*&<9J4@ZH?*1#W<;K;ISI=KB%^YSF/*Y:+%(N@C$:^QB'3AK: MB[OG66/4I_NY@1C;&GNM)3QTI$]W%Z")W'2D!D@-D!K8,U8SL<;3/5H)D1HP M#)I(#9 :(#5 :F#OD/U\NL?A;:0&#(,F\@ 9Q\"F8'X7J$RX?EA^/'H4VZ$/\]HBR6&.\E(-V=130Q&D&>K7=.+],GC@GX[]O';S!L@FXQ+M5Q93R#[_/T MR7>Z%KN!6]=9!*2#X;,07@WW X'JP:4+YLU&K]3A;/!8O@+HR?'3E;CB-SS/ M93EX> $\"\\YNXYR?)0Z;^R90^$AH),4,)0(IA/D<*E_"U2Y*F*>IQE\+&4A M\"2QZS2^KEYPJQ=E0;$"^JG3Q=XGUWBLV95B[OK8M3]_^>W3Q1"^A#>% M$7X%[Q5LR>+RT_/70Q%!A@SGK.&3_)%#GH-J?1O 4L,U,;#R?1A M:+AFD80!EJL6IS> 4'&L%BJ[?Y M0AW/EV<<4+AD?#2*RE,)&SP4BIC?WCD;[W2:>:]&DX>S8TV8;'M-)N8[E%C6 M>21K?B6T"3C@"QCS6Q[? )_\^!W[X<0T:W4SV67D.[YIMG.F:$_H=EC3#&A? MFV9RYPS6DYEF&[-,VQ+52;:OHS=@8VS&"";&9':/@?;[7Z@G(C"H2M.L89/D MT0HU%?Q6J10@2;$ A5:4Q\2NUK%01]:J*=R(.,:?KR-X^?:[W8VAI&U)9=TL MX7<\&18/4PWQ^PQ4EM*T0 2P?OP-RHN@U#\2^RE*IMF)P*7L= MPQ]O2"0>H1M:VY',FSM@^%8S:R46P)D9OP%X!'LJXC$>I_UW$:U7:)=O8V:Y M&XCP .U%IL:N5J8$X5NKWN6#: #VY?!))E8BC#9[5-AG2#PA.RY'\5IR$"GU M2#]-"JE^$8F >2$PXR';>1I\*4_/1N04B52/>S-DGW8>%FF0;5*@/% <'IXO M 2$RU 0Q]_$8<[QE"_M+@,[S+/(+?0ZW\A7<-@Y#AZO5.>D;6I2$K, <2 "[ M,('DPT/4)3!ZK&C9I)324'#Q(DHBN82)5813$RY/$Z_AP0C68FT(VZ1*S393 MW'YM0M**W[)K#FNK;!B]GX8Y#\J=-:YLU!1$OEB(RO^#>VVP+S8"5#+GQHH! M6R+XLKVCWQ:]>@N]BKY:[$JD5S#O);K!]2=R&:W7ZCA[D2_3T (;Y0J@(0ID M];)*:*N_D>F5O"B9PEEG:F/W MY8>V>_,7/^0 YD/I^.) >-PG*'KSEX\$##47OH,=VC/IG2*_8F<9G1RU%&< M372*_5D='46GV'<:?DDZGV)N]/G2J(:FF33B/3K$W7_W0YH20RJ!E MH5/L":D(J0P@-"&5D4A%I]AW28C(%TG8=#[81*?8=P2;Z!3[UA,(Z!3[?A;@ MMD[6GC=4H*+:IMO"M:;3/5I?]X35NP 6'61G F8"YGYP3/8Y][ FK=P$LR&]!K&DH!0EIG[X8\_FPM3:.K3-S MZZV\Z!3[MHO3S8X)GY6&I./0#*(Q'8=V2+#QK-&<3K'ON4R8R/&$\<3/A/&G M\5EYUF2?EO@$\ET2"A-9GD">^)E _B0@_]JQ+7=VS"*D[J,\'6-/?AN">X+[ M/L#]U![ND1]$8$_'V.M7-AOKG>LQ]CL=/RDGP1C-?4:'F?4\>XP..GMN3<;4 M!6@B?QVI 5(#I ;V5 ,3RYY-C1094@.D!LRD-:D!4@/]4@,. M:($]@CJD!0Q#)G( &I]J(!I$D[=>YSPC7JT M 8MT\%/_'EJW7[]YGA]E7?0AZZ)ULAJZ$^MSNFAKZGADC:9[A%QZPNE=P(H. MA7QE$UF=0+NSG$R@;09H.ZXU:Z^FO'56 M[P)8D$N#6--0"A+2/J?F;S0>DGGDO _*3S2HGN!.=$:X,!F\"#&)IH?:RSB.$G]V.A?KV7"-YP/!J]^@8E M'/>QP3U,C'\7,H\6M\:8QI^7@D5) 'PE\9?=5C=LD68LAVOR928$6\%]2\D$ M$"IDEV*=BY4O,C:R+>;:[LAB7,(35FN>P?=Y^N0[78O= MS_Q;!C2JQP?C\F:C5SC.W_]"CVU8!"*$>Y=1L%1/B('R NY/%PLI#?. M2M%I#3-H# 1GC[?((E8TC-,;N"",,A'DZ@;)0B IT"4MX',A@2'PKVL>P\=B M ;3.I57>EHF5"".NWHW#N>%9QA,8FWJ0HO2-B&/\J08)KT]!_)>" Z*L@-JY^E\>:-0."X4#?@[0%@4+Z9.;Y+40E')?,T^#+P@9JA6FB1 M2#U$\15_%_#&#)^C2%1D&3 94BE*PV$EDT:P/6L@! $!4N0C\,C54R,ASX,% M)9FP(A%77'V-F_57SWJ#2\QE-G/])=@2<*GF ,UH>@+/ MY*4*X4MH>QV]84L8+5RB85@#9@GD%GP/%W"VBKXBZ"]RO*>\OGQ]>5O-V@AV MWY1OP+O5T>&AE7EDL!YZ7:^#.+4$0R[20R-7JI<.G<,I1=B:;W5 K M6Q,3)MM>*96]0XEEG2&S!F-#;W@'? %C?LOC&WXK?_R._7!BFK7JG=EKJB\! MS!8J=_6E^*JW40ZC"!XDSQ]""I[!-@\Q) 18BM/U"KYJ0\U,JAPI,Q7-0Z2J M-FEH=R$&VUYRL*TB ;:)6*WC]!8TD2\2 <^&CQ[=^.&[ .WA9?5' ME3HH#2:1 F%R"3N*4#CK4H+Y_ZQEB8*L#:UM(9^ MRK#14X#Z,UWDJ.@VH]KA4^6#NB\!CQ=Y6O5>0&Z!MZ&4XN6#F-^F1?Y6:>X? M]#TL[_;34B\CF3D1S&8RV^K^^]) M3-2O\]RA/1^_0E:_SX=9CFGH.?/'KGGL>WLXGSYZT;D-9/32@< SYB\>B#.< M/I,BW\B#G3VO5<8AG>&5OGM4R<[:M#=G'-^(HK5R M&(8A[/XRBW+?9?O\R,[:R --ZBY+YJWBR:7+(!5RF(-^CHE][O5ORY&J/DFU"JQZB%>WW")N,P:97A$W=P*8#=F\Y7+,6 TI( M#4AEH.JP[E4I=?\$%D.[4]+I+*T=NC5WZ7P6ZJ5Q%O63K?,T:0'2 B9J ==R MW(F1$D-:@+2 F;0F+4!:H%]:X+5K[]%A^:R4@*''E)!GB+0!V3>$^,]&_/F0 MS/[V$?_^UI/4[>FA;D]U.R35#N"Q2M&6^C_Q/,\BO]!5DO"@Q]H/Z2+-=,&^ MMX<> YK$\*E5-PO9?1R_X5F( M)*KF%:[DOA2J#'6Q-<(H09#$?B=;8U4OE\U.24!XDKE_T^C4\NU__#\LJA^,R+59 _[P "R;"$'"(),DT3$ MS5+^^!8&\NV9;6K\%6Y)F0:1&L1-E"^W,0RQ2SU&%FML3U,U U"B7A?OR\*7 M01:M51L\W04/@ _?I3K;P*OD,KW1WP!9KQ'MX4JS&S%UM_. :WN/U]F[HY>7 MM]OVY.4%_ST:B#V<3UX^$-MV7TZ1L3>ES@.=S:BC;%_J/'!NZ;[4>:#CH&60 M"C&_LITZ#YB]/E2)0JIID[E$G0?,5S^T.2&D,FA9J/, (14AE0&$)J0R$JFH M\T"7A(A\D81-YX--U'F@(]A$G0=:#YL_EFU"R>647-ZC+%HJ->I.XOG$&KF> MD1)C3N9Y%Y")"DY)"Y 6("VP=_.9.6D!T@*D!4@+D!8X5RW@6:.MDU3-D1C2 M N3^,8"PW8?\+E"98/W /<6S@O63-!>@W@+/Z2T0)9MRZD>*-0UI M+%"68Z^S%(L1LX*P*NQ 1+E'%Z( M/2KT\):"AW\7/ ,+35>^1VBL)5R7Z6,[D2C !]:E_1&\.U.SV#04"?1C69HC M^JK/=QM?=+=.W9Z/S^U@>F,&,GKI0. 9\Q'ZI;(-6T\893G;KYZHRI!D:6/9X;*3*D!D@-F$EK4@.D M!OJE!EX[UL2;&2DRYJB!4PC-'LEGY!TB?4 6#F'^\S'?'4Z,E(KS@OQ7]V(^ M%;,_5,S>/!O\Z@G%HH94M'\/"U67JF,):'HCLL?K4JLBU,V#X5FOHS<,Y[40 M45YDJAB]/+T>:!+@&OS%%ONS#1XLB4W6B\-(/:2Z8,[78/_\Q\G[\8^L>6!&8E1J1 M5%_C#9_@*_;>8N]A7,QAW$^OA043@YD]=6)8]0JK5.B/X *X,5!L<5%< >/J MN2)KP&/AN3A-[DN!):]8+]P@?92@/D"VV5J$\MV-P^"/S$1#]GD92?JV[$:S*@F"0P36/PIJ%?!YCF:_49U$_A>EL.-NWG\*^'0Q.FS=P.%/-A,FV MIE-&S@XEEG7.Q!HX4QLY [Z ,;_E\0V_E3]^QWXX,^A!LD^"^="#N M<#2949N$SJ;_46HRM4DXM]QD:I/0<= R2(687X9/;1+,7A\JFR'55*\:M4GH M@/JAS0DAE4'+0FT2"*D(J0P@-"&5D4A%;1*Z)$3DBR1L.A]LHC8)'<$F:I/0 M>O+%8Z%TRH&G'/@>Y?I2351W\N,=FPJB>E\U8B+'DPX@'4 ZP P=,*%#G$D' MD X@'4 ZX%QUP.LQG?C$."? O!'[G!LI%2<&>2_HL8(^\91 M6)[F/!8A2P3/XEOVO3WTZKIQK,N&#T;U!\\M<%=/T$T/X*5K+,J_%O%M=8AU MU:F@//$:'J&.O,YAB/A;D(DPTH=:!^EJ%>6JO!R/NV9IH@;Q3E_Q"P]4V2(\ M-TYA?+H"?5._'@H_9Y&4A3["FO%5"B+U'U7'/F0U2:($7B,8$"+!H22J<4# MY9*)OXOH&LB4Y+KF/L*^"P$>C@W#! JYNR1S#DVR%Y><][C,]E<\B7R1I2L6 M1G*=2G6*.:S1-2RJ8AGXNDB0R3"TK3A"%KZ,PHAGMSTIQZ53R]L<")U:3GFD ME +7B10X*L.RG$[#EH&J1#SRSVI'-?L]:'T;%)-]:I1.6X'U ]M3@BI M#%H6*L#\YS^^NK;CF2DTYN1P=@&Y;O M6AXU<2 M0%J M !I@;8EHLW#S4D-F" T5,-+^H L',+\DV ^%FH9*1;GA?F& MG6Z^4_]H6AGO7P(#@Z&J4(TV]:OJ[P>#+A;["1Z?2"Q+_3D1V=4M^^VW=^RU M.FN[_DK]]<;"^M?_722"N9XJ3'6&C;LC/)09:W*+),IO<2@\8Z&X%G&Z%AFK MSLIF%WG,DYQ;[%>1 G4YRY<\9^LLO8Y"F&M,EM(\D??KW? N&59J5XV)PFV:<4^X^0Y6.T:UM: M25[ONXDB421A@0"-HUN<3__D454H\.A+["9 YIL9JTD"55E9O[PSYRE2.H+W M%RFL(Q_A=')X'AQ\ MFFRB @WR-GNG.=I9^J<>%7F H[C3:YS1K>&=A@!XJLF=-NG1Y-FYV]7J\MG! M?OF:IYS'VE+([@6?6F1F,+M;7$3_#9O(84$%ET[#$^W$<=QD-X ;,%.AIA6/ M1@#-!8TT![8?+0+8UL@NU'SJ)GQ[FYK &G*.8>(GJXS!9>KK:98F<*S74TVU M%?!O-6+AG]RL9 M[W>":VW/(UQ>YEPM9E2WCI7JO:JXO\-WD6:HPV_320* 1)<6"9:%Q%]TBQ!3 MENC:#7Y+-[[(/I*7<]_Z=RETWUSH_DN:&W;=_W+V?O\.TZ7[@V^OF3X^/OOV M*G)9R/T7,N@>GYU).7ICTZPD!?0IRM$'D@/:H!S0AY2C-PBUFE]A*Q70S3X? MR8@7-'2G)A70HJ:)/BQ(U0JDD@KH5EP@02I!JF8Y81)\GQ[$BD'@[-&WI?F9%&V 9>D@$ID M@,@ D0'23T$$@0@"$00B"$00B#$@,D"\/P(WS86;W_[^1HH'[Y/DJH/X=K^R MJYBZ4]T.CJN$=>=<:U1F03Y5F?:+O50("XKR FO(L)@N"8,4'I_94:18^#4J MLPP>7Z14"A4,%\&;>#Y5P:="ZY@KEO"IIJ8+OHEK+'-;881S.HM%,-/%- V_ MN9+H:2.8VX.K)FQV=ZI'?XD24Q>ZFJN)9F ^4F-8\RL57ZM%_OJ[X.]/3+.= M2K/#J*K;1(Z/.B]C+H=\/S?UK'EP%/P6)3KXE3'NQTVS>=^FL[DR '6''RRS M8GNK\7? VV,,&TUSO_YMJSX]ZMI8.WSW3M'W_S0_:*(KWNY=G]%M*@ MNICF)7OL:=[-8:8SR7#99N8VD8B6V;*MQ2R1($TZ#9$@3R!!SD2 -$B 2 &D MX)(( $&J5B"5%$ V_0(U2)]M?B>*!G0*Z03ZZP@L1FS=ARRD)EJZAS18>99* MUR:)I#?<$+.1]T6DDNC/ E8"5N[4/C@)CY'A3%_II)0:_5;<*($N@:YF'(OH M60)6 E;-(+2 52/!2O2L-MZH;32"^>8C.^Q&,!_YJKQJ=F1^/S*D=RA)FEC7 MT[0Z*Z&UT+K%M!8\$1X76@NM!4_:37>A]1[16HP; 8^]8FBA]98[&/LDH]]N MSY/EEP+3HP_+M?4A2\-R5$@GF\: T'9:,>VEJR)$+\S$+DX[ESVSP^6 MU=L %BUD9P%FX=;V<.O.P/?\HGM\L,S\%%K&6]X&31EYL!V2>#SMFY MZ,M-!HL6LK, LW!K>[AU=^![VNT=+#/O3%_>8A:K! ,>ZVI\TME5--IA2OC. M[T?39.B="7N/N0P/;5ZPKU)V)X4H(H?[_<[%^4D#KX0K/I%+L9^JIX"\\+. M_!.!_$."$P<$\0T-8 C\-Q":!/X%_ML%_Z>#3N_LLH%7HCD"8 \N11-97D!> M^%E _FE _J0K$-]('?^Q*C!.'R_HL>#SL7QX68P"#\?A+TDW"K36W8%O3X+RDJDJ ML-QR3FX#!5O(K3N#Y;-^Y^+X<(%9V%G 5[CUP+EU=^![TKTX6&;>AT15<>H_ MUM60WM]-DZ'2,JI!-):645ON_7URV6_@E6A.TZ@]N!1-9'D!>>%G ?FG ?E> M]P$S[@X(XAL:I!#X;R T"?P+_+<+_D\O.X,S&?ZPYY>BB2PO("_\+"#_- &5 M7G?0P O1'(AO==!%>G\_2>_O4;V+B-15-$9R;R?R*Y+[*9A7)/=].R;V+G;6 M,;$5LGL/+D4365Y 7OA90/YI0+[_D!#, 4%\0T,P O\-A":!?X'_=L%_K]_O M]!X2@SD@"; 'MZ*)/"\H+_PL*/]$*'_6W=D\N%9@?*N#,&LJ7_J/5_G2;TOE MRS"-PVV7V<.O.4/E%_[0SZ#V@ MU^N>\/-3(/,.'1--Y'5!9D'F]G#K#I'Y0>&!/>'F)]&8UP+S%@LPMN?J;\ 9 M/"'KOY_K3!51,@GTU[E.1UH+ MG@B/"ZV%UH(G[::[T+HU UK79+3V'B^CM=>6C-;M^;T^ZERK;#0-5!(&H;[2 M<3J?P4>2V-H85-H3]WH;*-A"7-]=T\;.>>\!34&$FX6;FZ2E"+:WHX(H]^L)V+ MBYTUA!5NWD]N%NP5;FT/M^X.>Q_BWM\37FZH>W^?^5Q065"Y/=RZNP%VG8O+ M!_03$FX6;A;L%6[=!V[=H7M_9VVK=\[+K7;O2P+_(]^,GW6B,Q63>U^%\*TH M+["3Q=4#AH-*"O^N0[XR4F+G8749*7&OXQKT.L>G,MA[SR]%$UE>0%[X64#^ M24"^?]F];."%: [$-S1J(?#?0&@2^!?X;Q?\#RX[EV<[J_5MA0#8@TO11)87 MD!=^%I!_$I _Z>UN6DXK(+[5<9AU91:GCQ>'.3VX.,SGM%!QD$H;\>8*;QGL MW2 :B_#>JO ^ZYR=/L!".Z#)WGMP*9K(\@+RPL\"\D\#\B0%WX6D'\:D#_K]AMX(9H# M\:V.PJRIAND_7C5,ORW5,,,T#K=Q;K^D>1Z,LW1FXS!I\H#XBU3![#JPW^QZ MO#90L(5*YNZFG@\N.\;D]M P19RZR[5Y9W5!N^O?#N+B\$%X67MYGDT:X5;BU@L MW 8*MI!;=Z@NGTC^J*C+ LOMYN0V4+"%W"KJ\K["LJ3U-]3G7_7RE^3]Y@:09:ANL)X'_!M%8X'_W%IC _\Z#&H+_ M#<0FP7_!_W;A_]_^_6O_N'?2Q$O1'!FP!]>BB4PO,"_\+##_)#!_W#UNX'UH M#L+O0_F%3S@9N[SEL!@BW4 M,W<86[GH7 X>4-2X)_SCEZ5^KFDQC7UF=0%F >;V M<.M.1R\?7YX?+#^+RBS(O!^GOG.^M)*^%[J=%H@]4D\-\@&@O\[WY6 MM,#_SN,9@O\-Q";!?\'_EN%_3[3_7<._H+^@OZ"_H+^4;APB^DOI1CM+-W[3 M11"GN91J-$=2;R<>7$>F?K>/T!2FY3#6S9'53X%,SW;'VG>UV')<\F $QG1#!G1!BJ+'-A^\%=V(%+C%5+ 1(/A_!42A_[PW M+7K]V]94(\>9#>'L+-C"7\57O8H*6,5H(]4^ZBN=E-J2KI%K#+R#Q?.CDUP7 M/%-ED=HK@2N-D@GR)G[]*%:+M"S@R5\UW"]Z2^_XN'O\W/X MANK>:Y?Y7JN M,E5H>ZH$-_SL[Y:#B5AS-(SBJ%B\LK]?$U3DUYWTN\>7I\^1%=9!A%E3]Z1W M>=MW;OO\N'MY?NN7#FTA@V]="#SC\IL7 K+BGA2Y(89]\52UA:O:K@6U6['T M8DMBI5(T[J'K7K0T_^8I"?N B/0CD16(B)_\YW>]D^\:EN/4$';_-I'\T&/[ M+4IT,(-_3O- PY;#X).>%WHVU%DP..XT,DW-Z;[-.\0GOUP-DB#;2=]\3.C; MS15[$25!,4W+7"5AOL-$YN:?SXY%4U\D4X,D4_^X_YBCD43\M$=E%D(+4C4; MJ1ZS0%B02I"J;806I&HD4CT+WDY5,M&"5FVX1.**%&PZ'&QZ+MC4#FR2CI@[ MSTOYD*5A.2J:+3D.JJYR.Q7?.R=K0Q.A'\$\D^2VB^/.9?\!V6U[PNIM (L6 MLK, LP#S?G#RSH#Y9- Y.Q=@;C)8M)"=!9@%F/>#DW<&S(/S3O]T9^W =L[J M;0 +\5L(:S:4@H*T]_!-G'8?,_FKV"5<.%VN13[J5@*R L_"\@_"0'Y9M):0'[G_"P@?\^>ML>=_N4#YE0=$,I+NT*1 "(!FD-CD0!;E0"G MYP^95"7XOUW\?[2XBHEM^90#*C_2I*K3>3L&56WOX#ZGA8J#K-XQ4?(3=BZQ MMQ/2;46#X3W/))/FP_<\J][QH'-QW&ODG6F.5&\#-HGE)G) Y(#(@8>=U>59 MY^+DK)%71L2 B(%FTEK$@(B!_1(#9YW+TP<$>$0*- R91 J(%#@HCA:DO^>! MG7WT"/>\Z=JI'DSS(OHO'B&QF6^K;14T,] M2C-51&GR"CA*9W&4Z&V0T+2I6A-6:3/=MAATFNH@2D9P3W/\CV!>IUJ#R8)3.YBJ#CXOTKK_K=X)K^.4\BX!NL/8@A/?"SU]$+P.@ MD%M=.@Y.SY\'-,I !VH&T%/@'W_]PZP:'@[/4:,BNHH*?$P6)9,[KX(6H4( MI5S#(B+8QZB ;PX70(Q)&:LBS>#/>5X"8:/D*HVO[.,_I;'*@K=1-BIG0#;D MXN!=KS_1.."KY8)H((1\&TZ@Z\#ZXQT MGN.F1E/@ M-M3X[[S(%/SV3A>@8NM,H_)4L8OEUU#':I'O"V\\OMPR19@BMVZ06T![)[?R M.KWN);'*Y7FS!I0"LS8S<\N"^B&9XM>"_ M[/T!6I1CN.9\L7&QL4:NRVGQUSJ.^1G^:_L]7YP8B1%,X;]G*;"JPM7"YQE< M38(>V'F<7L/^X.8G^3S-"O[[*,V+_*$T6I)0WW!.WR:A!FLD5",X>7G\Z-.9 M-0]JYKL]'T 3-KN[/CZ#)4I,75K>7$TTV\]':@QK?J7B:Y"=K[\+_O[$--MI M=I;(.23+#_DAX>F13 N M8Q)@([ P,AI^3*I,,-(@ 4! Z*_X'/I= J)AA,*@@"7A_\ V[J34W<2?>SS_ M^BU0&L6/%7=X$I,LS5$" #(MSZCWSV^.))';!-!J@8=BPR@ M%J02I&H H06I&HE4,H"Z39=(7)&"38>#33* NB78)&,J=IX9\> !U#*F8M=M M]V3VS0.JGO>Y2>?NZMP&G;/+G8V?V#FKMP$L6LC. LP"S/O!R;MK-='O7!SO MK)GLSEF]#6#10G868!9@W@].WF%+T,Z%:,R-!@OQ6PAK-I2"@K3W0-KSAPR@ MWA-FWGE[G2T,2A#/_A,/H'[*F/!!2= MB[.+!MZ)YJ!\0P=0B^-FUU D<"]PWS*X/^MW&S*9\I#!_M&"*":0Y5-.IDUO M>]KTJ-Z?4)(2&B.YMQ/';<6 H3U/'Y/A0_<\J\NS3N_B =-&G^#*-$>XMP&: MQ%\G8D#$@(B!!^:_]?N=WD.B-B('&H9-(@=$#H@<$#GP0$=?_[1S>;ZSDI.6 MR(&&1G;$/R0"050< ?W[@WYO=]4O OE/$-\Q@3B?!^OG'*E.1E[$->QL[)VE!3;9\32G?7*JMSUCL]6$YO U:TD)L%EP67]X.3 M=^H>&_0>X!X37F]#2G,3>5U0N[6<+*C=#-0>]#N7_]P?'N"D5VSL[M#A*L*0*1(,$VCVY-F""8ZPQA0TVTE(8T4=#N28N_ M-E!0!.T] @32KO)1I>Q:(7NX?"ZH+*C<'F[=87C@["'6SYYP\Y/@\@[38IO( MZCL"YCN--!6Z"YP+K1L,V (>PM!"Z\<:5PS_KX:QIO]<2X23[NE@\/P&2O3Z MMRUN,S'^+/,B&B\:HQI_GNH@U"/@JUP'4;+<#"<8IUE0P'>2*-'!#'XVS0,- M= J#3WI>Z-E09\'@N!/TC_N#3J!R>,!LKC+XO$CO^L-^)[A6Z("-@'"P^"#, M(GA[,%P$JEH<+.KD\CFN,9]&\WF43 *5A$&<3B(@Z2@/U*B(KJ)BT0W^F$:Q MQK=GFIX,=(Z2ZC&GY_287_] GV]8CG38H:72WN>P+N\3]_X0E],_?8Y[5$"> MO(R)4'%Z#;\(HTR/"GI"'H1 -]A]6L+?=0ZGCO^Z4C'\68^!H$7>,3_+]$R' MD2JB-*'-7*LL4TFQX <1/:]U'./_ TEI/2G<\:E6 !MS("=2P;P.=Q ![4>T MK!1WSSO"P\[2N'HWT"(NZ:?XH!% 3L&/QW7 YV&9X8=,DS++@%.0+%$:=KV+ M)?<'[\][..3)7>,'][I-S+G!/,TCX&L=G'<'SU=N6*(GBCY%"_?Y?9[?=V?9 M"#H&PEE+%/E#!U.XYN[\F1"^#*2P6OL(HQ_!CT+,# MG\,75#"+OB+2C@O\C?F^>;OYF65K^@G^I@ZSO0'!+,*@_<&;3Q\Z!'0OHJN7 M#8!.AG'\KW&6SNBU#P=. <<-+*SJO(L >2^D6A:YR, >YUZE<8GK*::J@#,' MF9^D19"7XW$TBE!V 0N-\.R#$:C'"E:0Z9A0$^[$./KJG7:/ MX=;%,?YE!$>9SH@3DY'.<_R;D6]X^/N\7/[ Z!"K.:Y?I5K$-6JT):09 OQL[];S@NYBO*(F>V5 M_?V:_!!^W4F_>WQY^ARIO\Z6-&OJGO0N;_O.;9\?=R_/;_W2H2UD\*T+@6=< M?O-">MWS>U+DAG2DB_N5+&_3*6%QY%;XNMB21Z+R@MS#)7'1TD3(IR3L [R9 MCT16Y\SLG=S@S=Q)V_*&L/NW2>J''MMO-^M[C>P\[[I=-.\0G_QR-4B";&ZRX47SSV?'HNFF.)M(IJ>^-N@J:^1E$?&SP]JA M@R:T(%53D>HQAS4+4@E2M8W0@E2-1*IGP=NI2B8/*)P3M-I#M!)[3["I,=CT M7+"I'=BTQ1KZ[97,-Z"2YPD3.>X03)_%WY#>X1)G_P=H=-IY[PG MHQ*EI/D@REAVSM,B!40*-%$*G'=.!Q>-O#$B!40*-)/6(@5$"NR7%'C1ZUP\ M)#IZ4&*@H>WBQ3\MJ:Y6%N+VQCHH2"+%_CXAJ;\H)G"M7N7,SD.65 M10GB(];/U]9([\S]BMH[5=(_F*I44,RKFZM%EL;Q$14AZ]!6#!.Q3AVQEDJ> MJRXDKO+<5MV;/=N2]N4'$>&'KKR?R#2#%V>1BO.58GS'AF,UXKIG?WD]^]1N ML"DB6/$K=Z]8VP:#BK1/NZ?W:EBQRM3GW8L'MKR0>ND50/JDX61-3QW8Q1>- M]V]OBJ7[QR>WEP;W!]]>D7M\?/;M-%\GD3DV*I5L@?L0V$:1J MT+%(L;0@E2!5 P@M2-5(I))BZ39=(G%%"C8=#C9)L71+L$F*I7>>VG-;)%VR M824;=H^R_J0ZHCV9LI>=BXOS1MZ8YF3*M@&9I$9.I(!( 9$"#SNKL\[%Y0.B M=R(%&H9,(@5$"H@4$"GPP,!HY_+RI)$W1J2 N'\:0-CV0WX;J"RPOEU8/QET M!=5WKPD]EU+H^Y1"N[G1$:QG7?RD@770U0QM+$9,$UX:[".,"AIRK+EN=M#M MNVI<6_0[4U$2TU#AT13+HG/<.!S6U$SVQ?+9/!U%].7K"/ZNL,1W%(VC434; M6(UX!K49*NR65&3J2L?T9YQ*S^.#50R4S:YX'K&IZ55S^/QKA/7 L)IGQ]V3 MJL+W\S3*F0H*[KJ*X0OI>)SK(A@N[E$"OO**B[86A-L;W8A+$WQK*?/3!KJW MIW\T8;,[._7!R1(EIB[(/U<3S:+[2(UAS:]4?*T6^>OO@K\_,?I$\^CO.0;^ !8R^-:%P#,NOWDAO>[Y/2G2H))AR::43&]I M.G%PJ=[2=*+=F-4@"=+\I@;2=*+9YR-%2"*9JHP%:3K1?/$CMHD@58..19I. M"%()4C6 T()4C40J:3K1IDLDKDC!IL/!)FDZT1)LDJ83.T\UN%,X74H/I/1@ MCW*LI=JL/64)@U[G^%2*CO>^7J>)3"]B0,2 B(%FB('+SN7962.OC(@!$0/- MI+6( 1$#^R4&7EQT+GMB#>S^TCP@^4R\0R(/1,,1S+\WYO?[78'\W4/^\[68 M+ZTI-K6FL*/7L;W 9&.4I8']*;CW0:PGL."QQGI=6'6NBR+6-*F]FNQ^VAW8 MI@P=[Z&V604\+RVSX <]XD7@ OP'89>'!+Y2Y(7B(?3\TAFL"KX.YS6:!CJ. M@%[T/,6='P(UH^X5\/.E1?+*;NK%L(:6#R'=]X4LSE44NFT,58QO@VL;Y^E*SQK1.35H M$#\B&TB2-6@8Y$6 M ()4@E0-(+0@52.12EH M.D2B2M2L.EPL$E: +0$FZ0%P,Z3U6Z+I$M^M^1W M[U$>J]3[M"?WNR>39O>_(J*)'"\R0&2 R(!&R("+BP?XPT4&- R71 :(#! 9 M(#+@@5E/9Q<7C;PPS1$"4O4O7J$]E09MH+(@_I81__RB>]S(6W%@D/]/\_BO4:;#J# %]+-95%!I+175IPFM M_RU_XR&Z<)A-3?5O5[H9Z6 11GI=<18QU^G"[_D4UO-W 42=*X#4Z MT"I+<"D)57Q3N;/^JXRN8.O)0ZKX#?DV4>^X>U&C'ORAOYYL,@N\+37 /RML M#Y"ELR",\GF:JQCY.4JN@,V(B>'C,D&VQ\ [\6A>#O,HC%2VV)-:X5[WHG=R M>V7L\18J8R_.O_DA^[:0P;<^!&N%^]^ZD'YW<'8AM<*M38*1!#VI%3ZT##VI M%6XW9C5(@C2_%E5JA9M]/I([+I+)G9K4"K= _(AM(DC5H&.16F%!*D&J!A!: MD*J12"6UPFVZ1.**%&PZ'&R26N&68%,C:H6;DH^XNXGA6PJZ2P*I))#N4:*< ME!.T)[GTXE*J"?8^Y;J)'"\R0&2 R(!&R(!>Y_SDM)$W1J2 2(%FTEJD@$B! M_9("+RY.SAMY89HC!*2P6/Q">RH-VD!E0?PM(_[)15?T_MU#OHP3OSNM/I19 M7JJDL#-^L70V+8M@GJ58*\ACDK&*-EQM%H$< K1W9*L/T1[@C)!_^/9)BH*,F#ZZFF M?/C<3A#/@Z&F4F2XR7'T+V0XF;B[N=KVES3/.?"W[S6U ,S].]34]@??/N3U M^/CLVTM992'W7\B@>WQV)C6QC4WVD$2TIZB)'4@F6H,RT1Y0$]L@T&I^F9^4 M83;[?"0M5\#0G9J488J6)NJP(%4KD$K*,%MQ@02I!*F:<2Q2ABEHM7.T.DQ[ M3_"H,7AT4^EE(ZK]#GLRZ/TB?I*X)8E;>Y2@(FF\[4GJ&@S.&GE?FI/2U09< MDE(.D0$B T0&//3*?.T?]TZ:>6E$$(@@:":M11"((-@O02#&P '(@)W3L+6 M+W"S7;CY[>]O&E7)M%12TK1:IL]3'<2W^Y7O-3L1JXA@V3F7'&$=U%1EFF8; M H]COSH5PGJBO,@45AI1&5(*3\_LJ,8#Y5P:=" MZY@KD_"I6(I4)KA:7&*9V^HI'%Y8+(*9+J9I^,UU1$\;P-P>6C5AL[O3/$Z7 M*#%UD:NYFFC&Y2,UAC6_4O&U6N2OOPO^_L0TVZDP>XJ:ND=. W]X-"T"A @1 M(Q!^WJHYUML%'W4.B#72^8%1B;]ZI[I#2[>[4.B@ZH(_15@0BP(/_V->4$'M MM0ZF"F3<.$JP7C:DS].YSF@.;^[- RZFH$%.IJ9J&*0EB4WZ+QP$G.(&T]&7 M#CX]+D,4=/BL=Q_>8TGN&WA0C.*WUZ&AOU2<"S^E*< T>-@6 9.DIR&_0+]T MIK.\&[R'?RHNR$2).]$)+E '\S2/2$330.!QG%Z;GU<;B+"*>:[IO'%\,-(C M4Z/"OC >)WEG: *M+4X]A4"*];":T4Q3?H!CJ98&GQF+X!VC4H*0M' M A_41?C#\+Q3XD;EK(Q9UT-E$QZ2TUWQ[@EP>AECA3C5EU.).?^()EF/HU%4 M4/EZ_^+"'[Q-UV.="HJ,1(M0P10TS11T6+Q(R,9I62 GY\NLW U^J*KO%UIE M5L7]08_,XWOT^)Y7=F\9]FZ*,:$!UMP/^E49?B=X=@K\4:_*/SGKGFPJR[]] M(V\VTL6N8-#SWN@>F,"'20@+.CNM7H\?@]WZA#SZCQW M@^_8.<)(C0@4$[A=\*6( /9*)]A^(B\471@X4D4M&D P&Y/)<#Y:6;-R%L16 M9G?LU'F2'O53)V)LW"AQW;->_W3E]FDUF@9_E4!?-."2$+@OY*6JF*;>W\:+ ML$X@>V9V2<*CQ#;F0P W)AQ9>V#GQ:'=)5AZN,^9^@+[=*^S5I_7_MPP+#\Y M&I8L>>"GGC79VE.)N9!20%D[=]_^N7#F^ :R#M7 M.3'6@M#R]^ZG;O V328 ;"ST<]@"-1>!HXG5-7[Q WP8D5KQ/?X?\JE#8F0? M1&*^0?P:. Z ERB?TM7)-!PVM[Q 9T0YFU>LA$N(9O,T*Y3M5:*213!)TQ T ME6M4NX GT!\7TW_!^D [&>$MB7*-UTH#2 )BA.4(_POP#"A1CI%S\09>3T'+ M6>"?@8?FB#SP__\7)7]&*IG0UYW_PCX$-VS=([!E8&A\@*L!K2,J<6-E9X^Q7-=H*0*J.[6GA7\_;]* MD)A]EJC])04@ >[*2A0-*"OR-%9 82!4;,_-ZHJ9OHHT2$ @#2R'N %VP_P5(JFGFA DTZS P"KR%NCN43J$\"^QH-0P5P7+$G1IUA^A<\_X?&! M;I",NG"M2P81%$QP'2+24^$'RG$W?3UX&V6@HEXAU\.SWI$X, (+#"K#WV=V MFW^U9::*8E01G$D\PA6P48D[24$^P[H,S* 9R\.()%"P-/9 M!/:D1],$.&L"[Q767^]>Z!_W@*<0>J3@)4I!$B#\@ M.$"4+Z!ZLSQZ.P6ETO)DY7SPOS(8W>P[T%?B_D^6)1&IE;T"D_9 M\U$=OFLL"N"O/V$GPD#K%#)L!H=]VB*#%,IX8LA>8 G,'=YR;,06:K WT:S$ MJSW6&1G'EKZ #]HJ!K63&/-I@\2;SV/VKH[2O'"GG^B)8DL6$4P1TZ']A#B) M\ER#X#8G;GQ.9JV58"<@3E>?1,_Q'T%69?48&TR"#:(%(BRR3F>?P6&AX"/5 MV:&[L\"9TM;[2!=WB&$W5.3Q8@^U9@WKW>>WGO9F(-YRCV4&$GAP,.KK7+&, M2X&#QJ@SPC,B\X*Q!B,;;CRL!OD2O@TFK96$(,65$UISE/E)H2;:J,=11MP7 M#!68O8$#)+. MMOX",N8]>\$9*&7&@O MI EYU]F(N@XTW._(4!STNVCF*SZU(\O)W0G FR7L(C6@"NL$FON65:8G96S< M[FR( $LC#^%+8==@N0PU&3$@X6-LUBD(MV) E P(?%)J/&:MQUQ7_L3+5/!/ M%LUE:ZIUF./A\'+V(,U2--CX2]$H2X_ HISGY%FZ!G4<_Q_LOB2OS$9Z%X # MNLB!48VJX_Q\_*PH,7Q!&@]\. ;I33>,/&()YE 8B]9"-2WZ#D5P M:M\@E;_^%A"?(>[%R%1+%^NE-7QLT(SA1VA!TZQU$J=# M=-?!#M+9HM(++;9,X=0U>4D2]"4&*\I_H%6=.2O:%@6 MO ..;60:X,(80[@%]SVSW!_L>\WRGQ:%F%ZG>3. K"MADGMPMV2N1!@*AM88+#-]@79)(-GWS)X MSB2#IV$9/$V3YZ 7 ^1;86E1&R 1_\!*?(*27&,:8C3W4B",'P1AFV1Y!9$> MBK.FJSR-'G^&=O0$I5R"SR/#(#="TJ[!R%YM_^49J"90"]AK\QD"&S$OU!>- M--5SLH18Z3=2'%Z7 ^7I$95"2B8Y*,VP0=Q?[H4T0SPK8US/TI!%\9(2@C&T MB-R6VOJU%5LS4ZW":V"FW,8J,$10%]^^>4#O1=<=RK3<:#,%BFR5 M#@/K ?W9IL/4)#,=SAP=^VF9P^,YIQ->0@'&ZA#1 0#:C/G8GC*UJ*^^!&H7 MZW1FY14W&'V+ QCDK^*C,LZ!/AV*+X5G:1(5QOV_LE':_G44Q[6?@,R.2R0M M[A),2*3K%5 2-K;Q1*@O_K7*X*\F=)#.BV@&^Z*GK%,HFW$ 8T[NYI)H.5.4#@#LDL$] M< =B]$-09>P- %X?XV7G= ^W>X6T]K4S]AV#6HWI=Q%&R1R-.Z0=T=_R=%Q< MD^)NG#LA9A%C6!']L"[XRO'1_XB) MM@SI[U8'3+SY]!:X]O3HY+@3_)SB*;U-T>?H)=C9NQ:ZZ%M!L4#C-O2-*G00 MHFU N1"ASMCS0]&5R009 QW;;)* =95K2H0OX#ZB)PB++PK,'RD9S3VWA+OZ M:-.#@## A.ND;>!8D(13BP)26NB=H<'>G->)^>]A4,O#K[) ,.7#W#;<%[O_ M :FF4:R]*&4M_LFZ_>88*)%PJ.-(HP!"K$<75N5!N]WEM6Z0";H",\VA;4), M]"5S*DVU#C5#F]&$"(R[!R2P#>YZ_F?B KZS[/F]=C\PW[+#[M<$JO^@N+;9 M7'2S1V7S=CNZ+@LP/X_5XM4XUE]]V,/J&@-?%D#H.T=P4;+B->';480NWE=#D.TQ"(45 M)*Q@"%'V_'ESH7$]3:($MW5$I+G'*VX@FT^1\]-^[_SB[.2R/S@_.>^?/K>U M_?V^LT.\DW038IXOK:\A)/SN_UG/WHQT(9=[F.LDXC0>0#Z3MZQF/,Z(U3# M!SU)*\\@,CQZ8P"P&2Z\V4TY>K90#X_'%B;QLNFO(VJP1EAC(_TDO1O> L78M]%=!\1HCNPH;U*9 3=0S2MS2'':FI'8P3UU<@VY" M%5 Y?! M75F/Y.'DK(7+Y]:$ VLY6^9]D0_"^PWC?*_ ^H K0-$]8W,O%=Y[5VA9D"1ZDM*EM &^ ML%[-S_<0.&RZIGS?IH^Y0'0.WQYA/8W]A$*]Y M&14!W 5\[$3A'4*%CQ):3.B3$O!S+DTJ.$X\1LM,VZ Q=5FDC)TXHG8-SNQ" MU=#47%!K.JS[1RV24@;0X$IL)Q[@\2MM$HVBW$0]7YL&$>S/6]TQ!=^O*4_! M% N8G)S5AAA>W8,*$#*,GKKT:".HY>K+U6_6U9^I$&^2WYR#ZH2YGX<*3DZ? MF^2/:33GD@1-"95+K3HV)S\R?"BL.:)+2:49P5@-,5.A2#-K*U*>GDZFRO;K MF0IID/?_%]^QLHZL(9]/(79:[W*"[[+*& M7'P,^"+&"P=*+M;B/=.>T$*XV>Z+J\?(T_ MESLC=Z8Y=^:ZGDNN3"\WE"JP(DTYWJ8QE7&'>(T.3$M23I_@=E8VTTY'-M6U MUO41K4WJ_.CRC+H;[L.N:XN:72FS-X54YU)(]4#V.*C4^S=>(QENPXIIPK99 M8E7*7*O[B&PA_[J:&*UR4S5;TZU=Z;+)PW=%'&@!4P46Z?:V_2RW?X5WPG+M M^^[8<=.TFJ Q:"K^ZCV*.VQE4@32Q!_A\VO# MPVIH.N/RI(N88[UK7(M=H4S=E[E%(8SE&6&#'">5Z M5!9^;J*AN)?WX5V')2T4D[7XI#/3KM!Y.VI5'6MYH2I:!1NP3)R/E,,/[C6Y MUI9I73L:4^'I]X'#9YO(2A4=B;@ZIF(3>R6KE.$3NR];P'2_VB4'$IY3JNYP MLM<8Y ?6!YI<-K,5O\ZXUAIC?1W2&X[RY&K&?F6OW4.]X>4=6ET&\S+#2V:< M:'=L7XE507Q(+.[<,5'M$CY@8YE8-_B'72R6M)GJ.G1T5X;**%89M7KFKIHW MK ,_=5'C": P69/I&.X*U@!3N2W1((1SA9=2-]1:G9IKX4D'A.6:6,2*S9&I M5,I6Q)D*0!7#!L,%^@Y-S^9X066G&=55(S\@/!=3NVG;C(YKKSJFA,M0SH%U M5<:UB1.X:S%EQB/XVN1?_Q#2$:@5W>!=9?-UUL@F?E"HL7%+2B+#JP#C_+,9 M:#N(_$Y/80,37M0Q'$35;M@+?;6W#&ACH=<=CE\WU-1P:Y92[1N%3#!ZP?UU M\2XBX5Y$+_&.HLLUKV3!K4TR._!#^"7P\G^@ D=9H[9[I^,47CA\$;Y9:XUJ M-;N96MBEH 2DM (S"HB$,_JB?!:U5K&QLO'>F8H% S-89FSJ^4S#:?=PSR)' MW]8TC=&-%48VZ+ND& ]_RH9+QQ^.K7'$ZI#O4AM%_D5N4XPBYND-K8V2&1] M!,#,6#B=U1LCNIU0CRU*V!BK*V :&V+*J0MG*K7=E//TK_87P?%Q;T 6W8/.>P.6Y:[?.NZ+\ M2K!I=(95YX9WJN[+F-(5A;IR4F+(/O;KTF=JE*7?%%)/HQJ1H7I7OZB6IY7K3E4R1=L M]#1:^$HRW'FF#'YL!0D7LO/"#35(DA,29<;]ZK,R?6#7CT_BM%8&QY<=>JOUBKLX:]^%I6D^-OGN.UMU-Y/E6% MX59MHY:7N]"F6S#RKBI.YC:7^12[4"YU"_7M+U/&?&7[LK,@J_V5^+G"'^\# M6UE.5DYH_ 4K]=!F):NQ"546J1T$B12"IR-GXM>/8K4 #(,=?M7A:^<&[QX_ MMS_ M#\US_6K'-MCP_OM8='81G[V=SPBL7 ^P:LHCQAD7]G?FR_Y4R_Y=3@I M9'")#OJUHS'-FKKGQ_W;OG/;YX/NZ?G%MSYD-PNQXR=](D^9L2_FQ1K:KDX4 MY7FU6QW7;1'M5AB]V&4(X&);+MX[CF[=%J&?DK /<)T_$EF!B/C)?WYW]MWC MD[@^'?>XB\-QR;VT;C9N0[C]VU2&AY[:;S<[RW=W2VXX0C>ANWF'^.1WJT$" MY/9+MVODV\T5>T'F$9B9H ?F+QMYHQIR/CN63'V13 V23!BF;>1E$?'SU(OS.-'^"[V&=>%]1N+2<+:C<%M2\[QQ>GPNM/C=K;L(:>,AYZ(-;0 MNO219@>J#\HNNC-AFXTZ;:"@2-%[V3Z/Z7]L-C,WU/#99T876!98;@^W[A"6 M.\?G9P?+SJVV;?8FM+![VP:+JJ.0YZ2NRX*7N$]C!.F>>%7:0$$1I/=H4G/2 MZ0T.-[0C['P05HQPJW!K \'W_.)">/DQ>%E",$U@[Q_'8\U%^FX&*_70X/_F M*4QHQ5#A._X'-H6X4C%65$MDIC'"L+R:6"X"^$7O]#'K M8!YZ(5QN^)/ ^PO@X(^QMOH1E+V"<.$'*[%H#? M$^ATOMR8?]\M. PTV<&X0;15LIY28,K[@#/@Y(VP+QWJ]ID2M3/):(](,WO.5N M@XLTEXNI^3Q+O]K!$\]Z%]VS -X)HF.N7FQ&F'37^IP'.N)XK_BQ!J=YZ:_NN;VQWF9X5P'G,6<:Y6-IF9B MXY6.TSF/.(9_7REX;9F;3O+K6BEC1_7*KIV)>0(N7X3LK ]'JMZ]_WKU88 MUEA-4[!,E-^3EP<^+R_-W_ FZ9B+M7"]]0L<9TX<;\>MT+B :&[Z[U_!^Y"; M>&AXCH-HS"@#G-F!DT)X'CF)C6YP/Q3K$XK9$5>K4':\AIAVL&5FQ_70,)T5 M@N8K<]-ILKPW"#WGF3/V:E?39FA*1QQC.L@^IK?9@M!Z"Q"/^32:L[SZK*)IJ3HD]&C:$KP6 M!TW!+T].G_/,+GA9-_C@S7^CN4J33//\+'I.[:TT]X_G>=6FGN&?$"UH+2UM80HU4 MJ &D.'*(9HQ9C82GL.!HS_0ZX,&QB69EQ\V4^Z\2S@\.J1?D*G;#G-SA,,7P MQS\ ;R2H#ULMG::RE,,FX MN 9+J>.F8^&:RP+G>,(?WGVF;;,%=D\-LRN M4> Q;HWUS;S,!2Y,W:HE5G#.YU+ME4^ M?50MZ:<;RH(;<<4$=+:A)0WU!%<.-QY_"G<; (?F<(8\-S.OQBW.X'FPQW3T M!:^8=4R%"KT<1::2W [W)CZD'[WY_"N+6S7K& QP8\3A[R.M0WK!L\%)]]C" M0B5_?=VC[^L>[K<,%: (I N-,U]U-HIR7C2O-)V; [^3%0Z[ MASV G<>;B/A17Z4QL0;"%^ESH/5&Q18 Y_$6+0"T$EP" VJ>1;&]13V"&/(; M42\]H\2_I;,-?F(_^")X8ZTA.[06Q^""^"G8X5][Y(EHOHWG 3+QSCTA4^. M-W#2(=D\OZ7=8&!-XHU,P4K?]RH;Q6J1PW\D7X(/O[SMU(:JTPA?'HB+$\P! M0( 4/Y+=]GZ.!Q'\&+,.V6'_\SP&6@2_?_HA^.7=]^\_>IJEAJ? 6C'&D]!\ M\ZI!"E4AOOCT_J>/+^U X2&\;PK'\X4_Y,@56>/(Q$&<*IP!_+=__]H_[HU> M?\:_X>_Y#^'KET98WG@MND I$Y)PT2Q;"TDRAEP=MUTN7#%Z,-C4Q5GP]B D MDK1N[.P-**4,\71HIT]KY@9O5"U.\G[%UEPPQ#1HX@^@O>,!X. 8%*A!MW_Z M'"-[P+)).3.3UJW7"M6NB-U5&!3$!QQW3X^]'[PV$]?M+V)=H%'F9*C[W=*+ M7IOHY94=ULY1%Y4M[!AR'#L."\CF/,(^!KR*&6>-V"OZ17FM QL[&KQ#@3U6(3LICW])GOLP]QL2![NB! M8+U<%1Q'U&;T_!48%A0O'*99QI=JI'"B,D^37_*17%YX!H3P8Z/Y<1VZ@CRR MDG<(_ ="-\L+3JO C^-()\BLZ/\%ED&@P]AZ'%OSE-U:'?P"NGPI<&P\7OHK M(#0Z@TQ*185SDU*!W5IH3&UY]^R[L!HJG_1;1R&@9#0K9RNT*:8E)K08K:,T&1/H4^6@B1J-< _K M0)YC2;<1";04;2$:-$VMD9K0*7)L!>EB0BL)L"/T/HWWP=7@+&(?$CC:!1ISOSY! N.QO 5(/NO*E$3 M/H$?X5:C )0,SF6*?@ +3[%;W,0JJ4R6,ILJK 914IC\(XXS@,H[0TXF7/^] M^ZD;_/SFS0=["W.,!UO:VXBLMF= !P5BJ)SYR8.*>]GP7<:$3X2Q&1XR@8") MQE!N8J2&+B\0OQ_"78E3O&Y+X=;U/[)7+C1V!MDC:[;:7$4F8K31#O?-.@"(S9D\ O U/#ML(2MP>KPW$@@IT-@1V7'#X_FJ6T9,H9 M',+FX&U5.EZG]G8@%Z@/<&)7O O8W.0H)O>V=Z $FH;,F"H:90'(M-*<: IV MI W@P:*BV1R^,+,\D>?> 7M;(4ZH/:E*@D"5B9S6J-7 P?.54=6<5$Y6F"$K%]IH1D.NY;IN.E9#HV+-.Q:>I.9 MRKD*A?S4*/L*-(!'!4I3@YXF!RV,0'_)..3)XJ<"9).6E47Y%Q8*96),;BH6 M$9UTV>W!QA8LD/3'*>MK&4L<)K0F?6.HBVNMDR7Y1V*N=D8==CWP,:Y1]4!E MTCG\O^*XQQH?1<<=-^IG;NQO95./06IC6DW@J:F-5[F MUGA!';;,45&$KZ?7M-61M7;03D;&=4Y W(XGXTG1X-UY.E['A%Z %]UKN/+' MFK.S%'Z1>R:30GF.2H_Q7U=J/,=A+E_GP9]E.&%3P-.>4!MQQMFZ_=6^2[OC M6V*5"C0\(GLW9REF)\U0Z?;"5OC/3"V4]8?U5"/5$EOU MKJ-!C MZ&W(5A$HYX7SC('"&:29R9[\6FT;F DD2+)!ZNUVF);&RB>^H)7! M1^3E9>.'O&;(XTD1+RI\$ =MLY'JSK?;9=;Q[>8;!M^MW;Y08^0,F<,R&^,+ MLWH[7G*^5N3\^>J@HM%[9Q1*4T,4TYH=!%KQ-:-J&F]P! M=[ANDL5SF'/ 1O,4J\V01H$$MI!". MRXP\.TLBZ7"MD+O#]KN[\-JK9JEL;S8N%&YAA*7]Q$Z8?N,S$SEVM8]V60-U4YPJJA7PPSSD]$LY-#YR)0C<=*03QP' M!T9[-X77)H2R&GFO@R3U.5B_:6L*^/N.J.QLR$%':M20&J@P=*_H&]&IL_T[ MY- E$ .H9 G-$J"VG&[P+C$^<7LBGE:"^W$^_VN3;&ZT10(B@I+B.D4\(FO2 M$C4/\JDMS@/:#CDL398YJ<[<0["CKEL3D>\RL4"JCQ>E^KGKWRN!GH MHA'HRS=$.U!"L=?&B"%2VUG$51MVS2:B(GB!X0S&XBSD:=?*!7O>\D,HI(V1 MKX5-=7.YA_#U'*0AZ?F\B)0 &&"O@S9VPFEH-=O=%0EU7"XCAB!&H&+C=[%W M /'GWTU]D^EX00$PO][/'#U:M%POD*AX\2^[-KMJX)-*R/$!+&ZBLH+3#MU^ M H,2""@4$K?G1(EQ6 =%YL81QZGLIXZ;2R_ <;&U7 M/5:8+T!+FK%:QUTJG-%'-]4ZT W%W..L%'PBOT\1JV:EQDP")J4-IG3N'!< M':9M!>.6[')W/]C?ND30W&7Q&D@%;7?,YU M[JB?O7]5Z:JO7%3C-"4O%$%7:!72(L7JZ"K0ZJYV31L%B/3EE/.%^"##SE'C M,$, K8JP.=S*LA3(2_7<&$B%M5=O9E>#PFRAN]4([25+/%!;O:/9\2IHE/;Z M1PT%*V9UG&(%K0U:L\Y@9>QXDPK(*@"RNXXXKJ[FQ+CPDZ'&BQ'2!3$*R8KT MRSEG9C-9*\UF_3=0H1D97YWZDS,W458K&R&J&>>V&$%9/.M\]WV?UN-YN#=[8YT0(/L:D8K2&]V[<:5NHG3?<'*O A#JJWE%5E=(K?! M<"4%$GC79%[59#'+;Q3?TV@^M_YC0/F04H\L8V$#/ ULB%D[&3>@V#)%,O;*":RUFZXP<_!-F!M"?6[Y.P+8QBQ#DQ?1^7>J,R[8,5KYHNC>W\@*+B;J'%FAR=K%;B+.HG7Y;R"19EJ3=N(>S :^,69\9=6< M-.@>8P5(SO&-4,/%*&K.L-UGTP3T&8T:MQ_^6<\M^7#3;W +-2 MT?1 ]C@H'>&3BMF27[&F;Y2RE*]KBG^L@ZK>H<*J%K=ZU4B+9/3;L(RZ3>\P MM@Z1Y!RE7^2TI360208GE3%[KZ_RNFJRHNZK]FUD4@9LR"3L!C];:[G#\H1J MI/.JVMD*"IMA#G+""23,,[9&1402C)HST&_K,NQPM=N[VZT_W!QL:YB)^GEM ML"_**W=JN.2VWQ@QM8J2"Y:N1$I]9<4/E?CA@&[PJ43CUJ3P4SC!60J4\>9\ M.^XNU*..Q6KZ':S.14_1UK:!H&HG';<#Z[&AAZS_LJW @+_I8HU>AUH=9OWC M_Z]S+=739E 7S0 N[+8J3_ZHG%&YQ56EL'I80ZO%4E^ZZQ6N5-F96-^;IZ.( MB.:@8,.>L##3-=VC]M ?E&D7M.;IV#_I8E>?:5]5YV.5?L&9P#"VK%:P4:X$*#1V>@Y M&LDI-XL*$WF;4#<(/$/, RP!\S-3"V%:@_O^17,F HJW@^*;6Y,+VNGA>T_% MP:;LWH/,#7D6%(+T*4'>Z;7TX #T>N\;L;Z)N[&U:&.?'G;<,[/E1K#&1V.& MRXO\I>=_PW^MH/4(5+W(-&[*/7;- ?(N1+Q?I0Q M3^Q4#JGZ6(L-<$F;L_M2(;(@C<;(OFB_=+#:&#DCL;M"8<9.K'WJP=ZE^^3$ M;BW/K6$I6#_!'NX&V"3@JCP,5530C?&B.;=V-0&=:VN_WA3A\URM2,D5:YJ5 MTSOJ#@P.-SCM7<^0V["G;GU[B\2*US3[XMS!&*WC%A%\A6%)\[)86SCM&UP+ MAJ(B/2)<-5_/C0V6NPA:?I/_&#=Z)W=QO8GO\L_"%%Y,&GZF$;Z4:2UL\N>P MXA<6GK!,!NCI^&V\I\",F&51416^:';N9<\QEEL]:BEAC]+N3"88]\=*ZRLT M_F?6X#'7OQN\+S>"&1=4U\6&\=;<[D_BFN&;/.**^8@NOW6T6++G=5/Z73)* MJPYOH%[N_)O7_DMOOS;UX1[.>(=VH[H 4 F=QGX1LIU;*B;5FGB7(ME M]3,P=%Q^//H0IL;35Y48[+;MW9+C.@&.*B%0Z@ D-?NOF=\?LLN M/Y+DJ\G3M!@PTVT)@3?%R+V%U.0:025R]TL&QS /_ N\R)K79. M%F@P5>ZDHOT<@=8WIUE; .$IY792;P@L&3.(YN#,EJM=>[Y'>ZKX5$"%E>68 M)@^THEJE$+>X^+J<_.GGS"XM&==691#YL;N[$P>/152?VU4?F_:WH5])P]09 M\GBZ 5S9:BE3)QA&,0]V<.6Q7HJT+1\"K0 !)\(G6LJ"9: M>?U(?/YD.]QT4C$+,;9.J$U.M>-QI]^LJW<;JIBP+)]J7;!E@'DLID\U6 =7 MW/6$XH2M/^JU3Y[G0(.%N5NC(LP2A"IJDY.?GH]:>>; M4,3K?L.)]PYR8M.^I@*#==>[@W?-*-!P036=@FWD:8VND?.@WV $D?56JU&H M=QP8+CP?V]AX)6V2'NW1_L:)]R+%SD'>EYS:R/U"K<%(8S(3K#*P31IK1?1> M%T<L,0*)/8=1>JAD"B]D]SDTPG*DIH]!7 I>FBM:,&]0Z[5T>>DFIV MXC(8:P6*ION6::).4)GH"5E3L=VLZ92ZH85#-741K;1J\B)-+[6M,]D?5(V- M(J\41YVMQ>.Z$J">-=:^W:QL&PLRN=]6/V!KM"(=V6^<'#K$SA8S>.%$&<2O M35\=T?PFC%*97_$45\:ERA2T+BQ<&:J3\$Z;+#M+0],FK.YQ(P/"-+1BW1#G M-*#U24]9YY^[H1550;V_:=H,72_F<=='T?:'K%@=U(>RJ/=P99:Z#PD@E M>%K#6M3 GXV)#1E7.X'4N[78PAJ0*E-50QD#D79:A5Y@WE_,,O)C-?L34<:-BC%,59["NV[^M@:DM2HFH>_5+GM6MK M5O,#5[K?=USO2_NFCJ^)5:W)*<+!1KD;D7>X[J>;.HJ'H- !?[SY]#N-END? M]\Z.>H-.\)/K\/..AH.RJ\J;IK$8LDZ36J8L#Q46ZB)H:9UW2=K44) M7,0YCL94@.1_V5E)+BW4@'>7PG;D7)YB4R8:3'K7 96FJ3F;5*#,EV26TOM0 MZ:9,-:_M+*F=M>V$:3DLL FNY)L,816-E.6]A=[ #EV_B/[J/_^BF*QXM MW7)WN:MDE#O=\L^I2>NX_2G^U<;A"_A@J@(UT1RV\-47G;MZ52_4LKDEL_,? MD)@S;AR>G819)O,LHK!;3FF]N5W17V#5T@0:"KIG5- /7)ND,P!E#-,;H6DZ MM>65 \AT6J\ZM_Q'OM0O1*3FBDY/?A13>&EF03CNI$ I[$4O.QK7GWG57M-Z M16'Q5^B2H7X*M4S;>BB!TU';CKB-5X]/[PWQ693>.FW5BTIBGH%M7."&G'(IM-MOM450 M,JI-9YN.GK.=+<:Q5O6 =+&ER8:(#666N_=&RUN$A MU#4.A[$*"LT-PM\L*V!BX&\V\/\PS?Y%X1&#?@N:CJW.X32-]4U]7+Z:FZ+( MV;K&31_II:A(;80ECTG"0(;+D?5RQ\B^)U /;5YMQKII1KB#78+\]]@<0!>. M,>ED:)'X*2,*,ZPFIB/Z=4K !!!+DLLEY^";/(E"&.7:\ #4U/OSFX'R):I48)QF7IE@E%5/KS6XP*QF6IWQ<[AI6V9G*'/+Q @? MGJ&ALRN=OZ9 D7NF_;-QSE19-E9JV0,%.8QQ+Q8?M=U7$TPIUN0 '6GDWE-5 MFB=>]9$[#NKO,475Q @&TYB>S6AO^7N ]V*_-0G5UL4#P_5WSD3D-QM(P/$8 M+#^*TY34,AOI]D;H8/-U3HRE'V1T#T8+KP<09OC&^(7,#0EPI04J#"DH;X*. MHUA%,^YA4IOCL*E+>S !M30Q(>;8AI[S*:;3\:X6#K'XQ49%-Q.=O9VG#NJ7 M\<_0HZY2KDPY-D]ALGW&_F4<-9[F5 M486UJT%[4T=:5=#RFVD_XRA+^UDP>L417+M84TY.OK1/0%/:"31451C"[ MP\>DZZMJ%!6S=0?;.QIYLR19* >"R]JJ)H'.#'7O\FM5W4!>QX0N MY<_$^J/$3K$GL>0/]@ +*>>*A4Q[]1&VMME[U\CVHG)7@3PO];2B*+DA_Z.^ MJ*KNQ^"\F1J^!P+R\0RB3S@8S62N^^/1Q$ 2 VDKJD2%,[7I>\8N<$5X.:BZ MVO"A+7;A"7UTA_TI3SS++_42?3Y^^AV@K1XZVCA?4/-S[1'HD:T3=X.]Q9AY=]L^,I4 MK%#8*DO+R=0F?"FLTBC0\N/G4%?>7Y&^P5N5Q6"51-PGP5A@_CO8H;=?@29) MQ&IC(E9?$K'V,A%K>RQ2!;NXK+4.O(CO*V'#FQ#>%!S_!P\'P! +0S?_TDX/ M)NAGU/='F.% XM6J='Q AQ/:S41A\[3?5!ZJOX*?.?WZ5P+=CIV"L+(5]ZPU M\J=]4'U0RLQ/:3;644'5R&A;K+0UI<[[U)&(4U#J0M[.&\XW:-Q+[=0J]:)> ML0?J0!8-2\[%MJT,7 $?I6+E0!+[IE.XS,[Q/E.CG#SM!S@;;CZOAF7X%D3:>VI:6%NP72!&X=+B_/RT0W1F4U MUIDT+Z. YC1:$/2R9.$V[V&76$WBA]UJ]^@ZA%C3PX2NL8ZX+-PX0/(!15B" M17ZEB2D"<7%BJN4&T84=F5'7(EGT[L-[VS@E7&/,L-6QW,)E5> Z:ZQ8,:H^ M;W@HS@G@#$-;U>(Q0\2CJ>?P6Y14+.!6#.E1#:9@@*_>Z3936 '-_'G/X MDA-#^'ZM_!D$&O9J<1T6*G5T:0W4VZ!(C_Q%+/C(E82T_ MPXMU>S_"U*8XFD6%[2\9JSKT^Q?9*&#F_A"0YYWZ]ZXG15NUS 2][#;P M'F_'_3#B8%JN*0$CF)?#&%/6B%#X&?K8C*ZX@AQP 8 ]L4D+@DM4. /3CL?C MG"];L(HT':+"3[T/S!0#4U4)^C2(-%W-TEXA!=L(E6O2$$2NZ!TZET7YEZ.? M,JV/WIF2F:./ -@-E&3V@@ZIUIA,+5S[&+,R;;D/IS0;24$2 ;AD$>DX]*IV MX>/?NY] ;&14][$(_J4S[+5%S84B4(,,:U,-!Z;0V [8M[&B\-L]1,(/V()+ M)V&#.0WU&&K[BSP1!BP=>-44>470LIC.!6BF65K59)5^ZOW*6>%K- I\!F%X M1DU7.O3^RL='FKMYD.%I1E)DW\-EO9L;GH8;0D7U=F]&M;7VHA<[\FL0.-YO MD@U#RC^OYKL986K4:V.#C6WS1(ZW.3U6^4$K,KP08G[6.&0*)''P?99>)Q&\ MX->T:OE+:)?HLN!R1373U&R0O62]X^,.$-A_[EQAHGIM-N8Z]P\RKE5]ETNS MA)EJ,PLYW2IQ/3UJUCKV?<"LU0@MGHP<$UD]*:FNMA#=G8K669WINNHU]P.^ MIA%*O>WS1A^F=152G01U2O/Z5DAVR$V#"('.48;N.O%L/B ?)#BB60A',6&. MUR(.$Y.3241=5.BO@CGK,D>N(O@>WOU5*KJ!VU-4!5#4E"88$#F>I: #=;LT MO6A0Z%4E5K5B=ENNY$] 55FVJ&J]:C-C7#714D)EFEF3C_I#8ATPZ3KX]:%F M_RO/6T_\TC$+CMW@W9BM9F\79F5IYF;KD9!UA8(VIY9&PYK75YMYT#Z6NAG; MOL78Q+=:%RIH%.VBVB63MX)/MKDK"2;M1[F-DE$WP7&<7O,@:VH\Z2_%D!V^ M@+9,#&?&>3-F.H]))>0!&_919M=$M\VKJY?(V0)0VWFVREX$*A37V@2JELEF M/6-K\HEJ4X0P8)3CC%-3ZUJI22R:R-#ZA78W *E0]1%:%?4(#FGO514J<^C M 1%L7#.5<>;SV6T,1N7W+D?2D<#^K'HH/*E-D\S;5I!L?TI+1N MSKX.T<&*,U<\J8O5BHQ[G)Z=Y^RGA.-Q5Y<*9[AWE6U^%MZRK**A[&?7E/1O4YKTY=_LT QRY700/&;"ZGNLH88K8_0)S M%WRHJOH]1PY/.;!5I6/7W,?+R^EP-K:=692A[Z[CGJ3F9#3^2RWU8.?(R.+( MU4DR.<2=LL:TX1H6KFZA.3@35EXX[\G$7ZN&SZCYHI?$S;%B'0D'^?B)2R8N M0"X.4@R3B%EXXBZ"8SY)59)4I>VQ]'_K1?#G)FKY8+:<5!-&5W;Q9KO(&TB\ M_L7SUW5>1*T^5HM7XUA_]0F),]<-0>R2Z#M'-/GB-5'L*,+9-:_0 B/N6*9M MM3$\M_/GS27V>II$"6[KB$ASCU?<0#:?(N>G_=[YQ=G)97]P?G+>/WU..MM7 M;)KFM#;O)/EGO>/CYTOK:P@)O_M_%C5=!W'KX?@V1U'-7[WJL_*1>$:3?8;: M0+(KD+0"WFM"55,&,.Y2I::B%5JMD_HUNS0"M.8G& [! -TH)O.SLR:PX_Q( M9N_L6[?-[:IJRTH_AZ,V_RM76*[PCJZPUX31UOY73L&;KB"[U2996LXW...M MHL7W#CM^U1-$E6LD5O-55G$QS7WC^2G>LE"IYF8D!3HE/6^4V0*LZIHFBX4< M\'0]X*T;E5L@U'ZJ H-EL?TYIX%8_Q-U5>#'KUQ^N=-RIYMWI]F_7+MQEG4Y MQAS-,;V<^QB4-(3!V4'6?EKCI:?>B=16[194>(UW1FZ&W(S&W8S-W%WS%QA7 M3,=)H 0U37UB$&QE&BHMMAT9F>HB8B16& MY%ZTF3*PDA3C>#8=S-81.(LI\=:$[<=Y3887/YGDJC>33'-?<9=0RN40-#JZ MPR.#T),]Q(A9F9$5 ASY6PKZ2^^\$_SMWP/6@IW@]]MXT+WM\Z&!V%5 6(US='B5O_XG0238&A@8D252-61 MV9:/V!VQB&)3;^&FKZ:Y]KZB: (5MA#.HBNT$-Q+J0!0QZZHR0U1QP:VZ'[^ M6G#'7[I\7))GRA.H\OD>"]W'&O<'AU@W,/K^1EG=AD%4_N=WJ.'^<_#/OTKL M3LKQK7\"F_S3BW?]$^W>IP71C:F0GW_\-1AT_^U_?G_SV^=WG]]\?O>_/P9O M?OLA@#_\8O_]P[M/;W]Y_^GWCS_"1?_^_>^?@U_??/SO'S\'']]]^F\!UO7 M"DI':DMG6L 9,$T%3?:$+TV<8D%F*[7'4UF!&$38\9\.:O/8_S[TG _7IS?#W<* M-P'QF:LRJMU$WE@72@@S!7LVV4LTJ1LTJ9]JEMA:HLJ]7]/88#W[4CC(#8'&S,6OQKWEV>\&;UP6)NMORP5VM(XYY7G8[GC2,JCYG$[> M@3!X-NAU3]U$#L/N>NWY8K7TEJBEA<*JGXXA;?! M@O&8386=_Z@67EE)0-ZW!.0324!^('L M*[X7F!:P5Y/OO-(G5>QU4$]9HB4H#7*L,W83#*+93(=440(B2G/(D=OJ+"7V M4*NYY>U5F]^DX3G9\5>9FH9<9NR'X@F:_#0VOC!GTU3&O. BH9ZKFN%I6B^Y M2"6%[<'#GO4NNCVG6@"=5X4[??]9_[1[XG_O!] H^6L\-ZHOB;J;8SNVTFZM MT;(Y1L._HEJL51OC;C:+52&2-#D"=AN9T;F<]SU:\$^-']I4+T59>,3!DMJH MX22T5HM+<"'KIN,Q MY+:M\0KX\Q)9M)B1*H"R@(68C(@WA^9K<<9&>IW0T"S@[A\_O'5MRRB%$L5. MJ'-D:?Q\6$: JOQC#(%.%MXH)XR 4)C#SN>KS>0R5A9OUO-$6B\DACYQ0A9: M*F!OF8G8W!S4CKZN;!53:F'?Q-6PYHK::2";3(KZ5$FR;<)RY 8CX\44(%\# MY(4=U89!Z(5I0S+#$IBD)-3V?+&VNIR=/1SCXBFA 956I$XCLE-*O'X27!&# MF;.>W5T#XEK["9RE*0>VXE7E9 "N55KCC.-42DI^6&G(9ALOV^[)=-_]FB@* MUV*HE,K"ER(0YHJ[[WOW*K>MPHN(J[]L)K:V(VIX5 X52J>X$QKO5!_W"-PXX%B_]+=)X-DM#=*)]H)HV[/NV!3_,XRU87*EK M,!Q452O?\:I:3Z3[6VU@).JXJ?\G;E*F,?O*FVT61H J!2=&U,>7P66O]2,S M433XY8AGT5V[P576Q&0F0RRRC^V0+W1N*DDQI1.[&C/4X.O0*DZP0H.U@[H^ MCI4F^!B.)1+:N9 @3I:I12$]=^/(<7MMD?49.EJ;## 33?1M CM+V9\"UW$M M/C@Y<#W-%6ENV%K0)1?FVEN062RG[MIOFB=RW(?IRR.,;R'KYNJ M;%:+CG<\';)JMD\!ZW4#U>XD0P;=<\F'>;1\F)-_$L^G<4ZY,'@;@(?@M!J4 M!7/2_;>W[W_[_/']+Y\P V8'@G2CV/SP\?W;'W_ _)M&G&M#M8L?:Q6$/T0Y MCKQ!H?;6\!Y!Q ?'>Z*,K/%5^$V'7)*TJT_QK<2WTTB/@Q^_ZE%)_M[W8Q F MU$XK]#[_R2&U^;SC[ MN/*5)HN&\6JKOY&>'U>&-_,.K@"-X4<]._5BB_=0; MJ*/>Z0O-WN3>:6C^Y<9L!Y\JC_R/QB%(*#[JO\]FLZ. M=3NWTG8#72G5"IU+IO?_'\<1=Z<#I6H&-F-US+6S-4-SLA#+$VGO8%K" M?^;E#*,V_]*A41[,""RO!SJI3'9X>35DW7SJ,1.YZNQ+T3"+>WITAVME-\'\@UIMUX#,AKR M13G2M/D8^_*,HIRTRTQ/5&8.U!Q5Q6+2$^560-W"8:WTH[['73?CF"G\D;#N MS-^CHIPYN?T*FENJLRS-C"%%C8G+L!N\L3\(\@586F!;)6B*%MAB;PKL0J6[ ME/#)I4"()W-;%3Q2%@^P63N9+182.&^&6AD-\S0ND0>74()29LF"C*ZL+$7)0J8G N& :#S6BV:6 M<2J=:9LX!+$UCMCB<.2DYPZK^7N4Z<9CV$U>3<26(5A]W^N1,ITEJ;^]F>;. M4R.J)%D5QTNKSXG\2UT3[ I\:ENB+M/4?Z3ID,]UX[8E!&9^XLGS@&XJO%L9 M#F&K\+!0E5I]-BP9I=E6UMYDWIQ*YDU3C?"&&FMOJPJ$=U8>&3LM>(^^HDKV M?;2MOT2_6!ULD6E6O$$6>$4=Z\0\SZFH/&=51S76(6S/XY#]E*3]3G$0RPQ^ M/\T#+I9;EQ!"OZ><$NLII&%\[*FD9H(L2(W 7X!P^Z+9.;WR@\[]UKX[>=-* MMYY(US9*US.1KCMF#^QMLFT&(=GZN'UUWWS\'+Q[%QP%[S__X\>/P;O??GK_ M\=J)BC AK-XR:%!7J/4MHP>."2_JU!88E??ORY M0:MY\PN'27[\X=UO/]\I3G)0JN)/RP%@2A/BJ/(HG6G;$HY\FRX'(581.AIB M=9V7$?=UH;E2$W^R >#>C.,(G=*P#!?(B>!%U M=9<]=_C12].%D$)1F<[M#+Z9SM#<"7%N=C0S?GM*(_@\Q9F0P)8<#,!LY87- MACP^/CGJ'9]>G)[UCTYMJ >GFXY>G_5/::0'+Y__&K[F.-*:9YP-SB\'1Y?U M9[S/H@EU++P<7*YYF,UIB&/V8X+-XR)L]=?S_E<>B[2OOI2[17)9QZ:ON?Y$ MF/MKL")[Z.Q.E.$A^++]J#_HFXR>OZG9_'75(S9K&N3P93@;%/X4EAV?F/#?4E#5Z[..%XD +0Q9+\:*/M$G,Y!_1 M>'7B+]R;#7':6=CU8DIZUXB"7?!V4[_ %\3TN5P]<0S]F*[WP!:4FUO5WM<*- M%")U[GH[E@E;[51QN0U7A(I_N4V\[;,3IM<)35C$<-0R+8Y[-5I4,_J8"&J$ MV6F:#\GUP'!+\WG/\!(1\?0Y^BK.N_C_8U.J[#6C\YBF@_51FK.@"=/H=.L5 M3;5VID21NW!JQY]OQ'AZ)P*JC+NU>(SID+A'[Y-@YY1J!'-#MR@N65;WR;&TY MZ7)5Z'K#+::3C!)"0FSSM72YFG][UMR#ZO(L8:Z;$Z9FUCWIVEY@L[T5K<,G M7/W^V3S3*>$8*C@6@H8+I'$W^#7--'HQ.RM/!;:=;CJ/]:?+ER["VDO4QI$_ M--_ .:5GU >2X0'RT/S : ;400D:C8S(MV@B"+(2.0$.038C%$!E <4!S_^Y M@9$H$QO398 E*!%%$8T++(.T]V!9)5FC9'!* 4 [*45I=7WL,]9?CUJ^D^;; MQ4!774Y04_45)B-['?8F910JUL6<#DMMK[A>Q=1'=US3#1KIEZ3XB*Q4L5O5 M,@CRI;RI#VE.LR(Y.=Z-+%CIUC&DF7Y9.N0QF4,?)-D4";& M(##82>=DPPF8VX[G8&7% M-4LABX"8\D<(DD^CN7E$M@(J0[T O1PP217<=HP:HL5NA,1M@LT.8Z8P%R:% MS"-3X43H.J[ U:Z3"BL,5EG3I28=31V%38%(G'F%#5WMTVR>A)U("A+=ZK'P MH)(FEOUQ:M_8EG./TW=2)/\\&^Z05#K.-F E04_O7G[^?W' M[;B;S_9'1UFM^E)>13*5G1H/X9C:6)'ZPEACL,4E!"Q5_E!3;STQEG)*(F1] M05!G/095#@D :86=K(;F7F$4+Y4%HR;!MQE6 *46N L2F\H6F/)KNF&WR(J6AM!.>&[UI4 M6@\F"KKT1"]9.;E+5KAUE:V^TEV2%BY-&D $VR[/B_!HAK9AO1VW@* #DU_,RV0K>YL M\IWSRA&)N[?UM:X;::UQ@AMO#R14\RB,S0P1ZV1B/Q6UY$J,?QH7HXN(D+LJ MD*+Z65@0]9N'?V!5L)N)9>I;V08^G=AVF M]U+)&V2[%Y'+3X\SK^%O6NO8S$WA*N6J730;%0L>SH>+86L>#V E3BMS@P3R M&@=Y7N<\,QS2*7K653Z;@_&,ZI3%G$8!H0,#HQFGIG)E9JK&:BT+UE3+VW;+ M509PQ\S.CC);'-+QR$2M8#")C:II*,2- [M)$U-?30<6W[EKRURZP1OGVL$V M$$L#E[#'.A827D59RN?!L<^O.&Y;D>)L>].NM/>MS=PN$P!15/'M1'"*2-5B M NRR#C8 TZZ319OM,=B;S-ASR8R]G3U$2-^7D%=@[+%2]&H:A4":QHCM5H[Y M\SWJC/"84&AJKBMYS0XAUDLY2N3T4@/V-3'H@@3N+XG&RFYTM=BX#]=LEB-; M(+FV36+'^+ M 0MKL;FK5]7J@I1<[I4 +TA,"3_-I.,2;-=(@=JT1::VVJ90.?RB(755J_2@[14X;,J. , MB+%VWM1U6S;--O@?&6[!V<553T=CV.('9NH-99F(&B%7O0U7O8K^P;68)K"N M"3-^J K%(UA'BT;=_6!5G]#SDE,=S;1H''Y1H-7 F@;W7UX,4=FG]DZ4J4-3 ML'/7]Z5,5%E,4X[U>JUWL-4G_)">32V;:;(LZ A$( YOH K#.HJ>S>-TH='1 MY76^O *<23//7!)8$%AH,"SPL()I-'?Z.#;&Q66FHVWTHWX,,,"\#)P<:I(E MEU?-2*'JHU8C:R-XB0$1Q>&,V;$\V12?RH_C^" V6O.'I-I(H^G5ZS)7*!5S M87,KL=K.-62BQW&/#/.QEU'' Q@X7Y1WE,U3FG'"81"7_^U@+"^'V.WI_V_O MVIH3-Y;P\YY?,>4Z6\>;,D(2%X&=I(K%.$N.UW8 Y_)$#=)@5)$ECB1LDU]_ MNF_GB[]NDPSCQZ;YRT%\.2QP#QB4TZE@6B M*UG:: QA/,T9U4QJ,B$E84/P^+>N'4D*8+/9 MD3GZZ'1",\E8BJSJE'!,Y"Y$K3:YQZH)>'"*LYN8KYFDS>3H#9^WX*8=OO4K M78X3]>JX&C05(IY94O1H#V,V M9+"B-^DF&1HGQ?9\+_0XV1_ MUJ@%/X(0L\AWX327(8WU'?_R>ZC2SY&X^[ MR;18#I?.]P:8VJ?KBY9$^P(:OS3;G4:K<4K:M?-&FUR>D<9OU\W.7UAI?-UJ M=IJ-]A&Y;C?PEZ1M#6<=(,UV^[K1(E?7K?JW6ON94S>_8T0**5]G5)2T4441 MZQI<2S.]N=4.TCFY700^VRBQEDPZ)!H278GN14I7E*Z\X&NP[U%(KD;8R2"2 M"&WFVA/*ID,=OJL65]?$%JC)-JD()B\963[*PKVU%>V\HHJ;/I%FHJ,X..GA MQMJ0BP#N@EJ'A^=@C@F1,KS" W-.)AD-3?^$!)O6(F9*R]/SD(#C*F4N@5#4#LV!8[A4[SQVDE71CT3&+?B]KQ:+U MSHL4-./]#U+2JF;YO1?1JN6%QUA:M;+PC9>[$'P(YX=](&RI,HR?&.T>M?^^ M"0.8BN42V^SS?R?WH&BB>/58E+#B%T];[!W#[BS42TQ? $*JJ2F>:J5A3/C> M;)*:_Q,(NQ#6*S)5$<^!>F79'JF,O M/QV8!VI8Y#&@3H!9J(O)YN[V@&*#H31(DM.TQ"WT@H2CN!GC4@8ES5 HG),2 MYVH@0'K#$JKM*PHB&@+B<;B3TJP4QDDT&-(:DQH*:89"SO@-%TCY*B9F2?E2 MLS?&!BL!-L3A=+HW(;V-U% KJ]O*H=A0-#'M:$U.,1\8DM_3;KF)!7:P] 0K M3OYB,?G*,A9Y/:D/2*SOJ1%_(1O%$[FO24?9$#_T[??KQ6M&>:W[K3>6^K;R M1I[W3GS]NKSQF6HH/8#(HGUF/^_%0Q+ <.ZIC!8:JA0&+QQE'CU+'Y7>Y!= MY&M*PY6&[Y^&KR+!M*K$X\;M8&.#4YDFF"K+)YAV9AQDPZ-7"U8%@VM6336S M>=01J:@4>HL5>N,R5%BK5%-AK<+:/5#HCG*+!2FJPH4:?(&2L.5AN^VAJ^PQBHK47"&J[6+;&^UTG"^ M5_VN9\[X%NJE,\R[/S"R =AJUE5G(TQ3,S'$=((1MAQ4$Z]U;2I_6LYJZK6* MW8,?8!=J[K5+:[:S*HZ7SQ6U%8D*K=L6>' MZ9!^D=(69/$1DFYI5/YCJ[8]*N>AG,=^S I46D.5M"D-5QK^FL0=_!])!9:C MS?A(95P<<+]:&[>8>:&PH.M_]=4=_Y])SPZIX\ KB^'5=,/UWV&.<)&3]()" M LDEI3?0+9XJ?O@(3B8''S>$LA'(-#A=*3(._SKRQJ1TE+!PWC-";T(FN%RI M_;^1&S*2I+]()-HH)KPR "S(=(R2GN68&3"/TZ+66G5RQA^+=$)X_R-")TRQ MR-TI6!?A;O --E\$L1CZ9W$7P75\1/I!2/Q@2B@/;Q"Y3D*RJ''2Z>0IG?3Q M[EF(Y#;,AYO%^(,X;/YIR#V-"(L0)]UH((A &[O(./W2_5Q!%QOC:S F*# ?OZ"V$UYT=2'=Q[[J4EUJ M=^ME-P9NQB\!-7A3%QGN'&*6]"-X.])J M7W.V8'0 I!/XX"6].W!;_\#!@X#[)+APX/JQZ!,^O?)E+V+A'?I$]HSOQLY]!9NY#"6$!^?,NH+5N6KT'6<\1'Y-=1>X^P$47+&1W'/,W+ MZ]4A!G#CC$/B9W/G&S%\(G#UU(_!0<,#D3MPO60T!"GCH>#>QI[K PH1W[XB]JG[\V+!FE+9.ZULT;G M+W+:;-?/+]O7+67GRLX7V;GCWBVQ#@Q/[#[ L/@7HUL6NC8WW;-N2;[EBH:?GJJQ8RIFF5:*6XU0JU<(!X4_T$+=8_Z>#>K=:I%6;4B-G4(OF MBK95SE6=GI5S+*=0L(IV3R]8!\2'P.ZG V8[Q]_CT.NP\#:Z['="IQ:&';C6 M5P_BN@,"T1L=XO"%([9,CG&5&%;J!A"1AEW7[Z/V8M J$7J5M$^7G6^-%FE> MG$D$8)>M[[5.\_(BFS_+:&AV[05@"VFE9X<67,70H^/COL<>L@.+G.*)M:5W MX\?D(IA:Q"=\!',X;-%QCT;, ^_S:*RGSXR(:7V6%^:>EHGKXVOEN&C><(L7 MQ):5B%4R#:M2+E9-,%K++'V>78#(#.)D+>SSW*-)(CVPD*G)PAPS27&+.6X2 MB\#?KL\GLL, V<1\<@9GD$KNOUF:]R&G8P:\@VFUR'+'F(GFAQIZ[K-D^LP9^J00&#I?Y^L?Z]J>MF:5_^5(1L_7%K]1C?NLU5CA*X0XN,1HK>= M"'$V"GTW$ME(]RFT %MO@K*0HFX=VE\."U\P"=5B-R-/'-@&I#C$@,PZ,)%!; @SV@PYB%7XC" H4%^X0%]LYC004BHJ> P+!(_:Q%!!+@05]>'P@D MT_?9&;U5K.[+C/YT&F_%@Y Q7#"(!Q%A( N'M!E@*5\.*.ABL68%LYW5/?P1 M1'\^2]=\G,E23X#+%WW7QOH%Z@1#7)+"2@>8][H^K^*@8C6I-?(8Q)*]4L[ M]3->$4+#D/HW?%U$+#3!F?P#W"NWX(0C<0;69U![P&^(-0\.ZX/)\: W5>7' M>CQ;]3"3'T@T>";'\EXEWNJTRZ8+!/;J93=7#5%5U1 RJ<=\CJ[<90\#M^?& M,BTLE+5/C3^_2924:WYM=C:RDE"6>^*!Y1#]P/.">W2BJ2:!-X6O74\4D0P3 MLGD^LQ-9GN/=J"ZO+J@N7U1]7JF\L_H\JWF69JZBV<2S?;9>782>$T^2ED'S M<11?R>KM5H42#:'_V1A026@V4<'KDA:5Y*^SM]]DSZF$>RHVN[], NB0-R!> ME0&<\NJZ(O["[*K[ ABV:LSYAP$#:^TW5CHOWAA_5*5II] M6)0,0JS^&,3Q,#K.Y^_O[[6(V=I-<)>OA?; O6-1GCDW-,P[-*9Y& >C8E:, MLL$_&D6]4#9,0S=*);.<]V,#?Z]6K <#9W2%G*$-XMOG1Q6W#;]R5/GS.\P. M1-GQ\0@$%/+T\RK*M6Y%DA)KF5NX'PH3>W4_SBK%,G M[<"CX1'^IAU.IAI) $; 0-.BZQ:[<2,LJX__$Y%Z4F/=>KQF+:XQJ:]O3^IK M^:,U'NP!Y@=%F7D4\0?QR74S7X8>[D2>%: Q8RU\?4-PPT?/9MELEI M4TD,[L=>2/(_2Y41?CY<4>YQ.]RCN2<@+H6XE>L_"DY_QM1$/ &&\\[SNQPGDY MY_GKR&>D\A;OF76>RBULFULHKCNE* U022%NY186NX7,A*E@ZE9VPF3!?*FX M+2G&]I#9<*C/$1;+]'@#A"ST/YXC%9])(*9_B'H_="*B]4*"]^V %WSUR?PD?XI'!7X>X[<==4\:["W?7CKKGS\:Y1(==:6ZMK$_@T"B6=8VPM MP=BK)S"VJI<78ZRF0';+058%MPID/P!D=SVX52"K0/89G3)T0VM>M/?$]*40 M^;[@K!3";O+>,N3/KZUSTO219,5FY#2P1[C4I0K/MAFVVO5ORI(4;.VDL+.P MU:$/@1_P&JUJEG MI^W/SEW_;^P%J3!68>S*,?:T<:;,7F'L3@I[ <:>8N-)5T&L@MCU0NQY[:NR M>@6Q.RGL!1![3GO,4^BJT'5]Z'K5:BB#5^BZD\)>@*Y7(8O@0)4E4""[5I M M*IM7 +N3PJXC?1JYHC>,--'HJ"!@/Z4Q)=BE@!P*SI6$MCV+Q[B5%"]$4_** MI$DW@:#DRTMH!__'-MOR=^*O+BG4333BGVE 7BYKY?*'T"(M*Z(?/HD>&+C] M&'MJ]\3YC^3 MBOAI*Y1)&Y2D+-ZH%HI'R8EINQ4R@%#6&7EC8M,1T@UG"&02*F*T%J2%\PFR MSO38@'I]P3',"-?RY !D(6!"$\+Z.MK]:NZ6<.R5] :G.W $O M)&]TS7HR>_,!O?N75R)C%@>64:-5:=&FB ]V2WAOSR[*S2VQ AFOOC?N3HEO M0]0UO+'TY7FM=42:%W5MD2[OGMR5VFZ9^)0Z*G642'Q[Z.DW1XD.4X]C0BZ" M.T%]7IEE/E^/5C]/@+?/0Y&/\J1.X\&8?&4#GZV(]V[K34/!]W:J^)>GN^'0R1Y;M;N_:L5=R9N:M#T1"$DXH M4 V MK6_?@'P3H $*=$)?0;]D):)0N'R%0J%0@'X]1_/ZP \(LIP2#X=G!P> M'P!$O-#'9/GIX.ML-)Y-KJ\/_O'Y+[_^=30"%U?77\ 7] 3&'L>/Z (S+PA9 M1!%X,[M]"_Y]/KT!,V^%UA!CKT%YBP,(BX*(X= M>N'Z"(Q&"?,)15!^!Q>0(W!V>GSZ;G1R,CK^^>'T^.STE[/W[P]/WO]R\E_' MQV?'QX5LX69+\7+%P1OO+9"Y1-F$H"#8@BM,(/$P#, L+?3OX)IXAV (?X%KQ#;00Y\."BU9<$\T!%+5"%GJ\<=W MHO,@YQ3/(XZN0KJ^0 L8!?S3043^C&" %QCYHG\#)#NF1%!(%H 0=N9S.N+; M#6*E0I_G-#@,Z?)()!_)9%GRZ>CXW>C=29K3"R/"Z3;+I_(PY!TNP\>C)%%5 M.,T@6H+;-"VF1IX_8M'#T^/CDZ-^W-[&XI,0!)M_, M+1;T[XYD\APRE/42PN:*B(1R)42BS\NT"=GR$GCDB#,\#-))DB"H!9Z/3PZP_&B;]AU24E"[=8I!]:J_62OI,RGN M;IU@'/M'*. L_=+8'6;5L1L.Q=DD_:,]%J6Y:,<^2!5EW'[Q5[NV9_HU+Q82 M$G)5EOR4?MQL,%F$\1?Q3:J-LU1W3-$"*&UZ!JE'PP UZ]RC#0TWB'*,6'$> M4PQ6%"T^')3.MW\$<'XH%'I*HA505F@R^4AD0<%-7KTT+\=<9KZ1R0RH M"2!-$:+XZ8")/@\27?C=V[FAJ&L[118F+"B%5GUS[PM40VNTCQ9=&RVR8(*; MFWR1T0RMP1X,NC989/&BP +R)"=JW63)_4&D _GCZ_3:;OP>H9 MQ9EHK%J)34+B"PL%^>*'R(5]\=T_AX&T4FO4 +6)RJ(9_[648@+D\*2UPD M"!<@+A1DI<9$("T7% H&;Y*BWX)3)S%]*8A[2 7="G$L6KN[MJAA8Y&1=SNJ MCE)I;YTJZ4DPLE1VMYB$:]$]*[G^?40W(>LVD[3D9!&/]RW%(R]-JI12>4 6 MZ 3D!01DQD/OVRH,?$39Y9^1L."D#>]AOK.@M.!H$9@/.PE,L=R_@;AD.=FH MLIUV>1'M MGJ*@B?]M J.@>+R+G>+\XAA M@A@[J5JB-50-@'[\^.']AP]5"[/ 1V(W3S@YM%JBE:T%9GA)L-!_4"SW/>7N M%+;YO1@B'D8Z?&VS6?#\2<.SL%!@.6L ,]Y@DS!W$+>$.)[>;A%?A?XU>42, M2U571;2&R@+@SQJ R62Z5HP SC@YN%K"-45^Y,F:7).KD,J]VS)06KH%HE\T MB#(. AZPD#P<."W!&?/U/0V7%*ZKL!12+(!\U 9/]R")+-#HBT2GE T#.>> M:W-2,Q8?CG4L\LP.B]98J-F939&'\".8VT7O1:BX%:>E62!Y9YCN M54:'1,L!AXSACBK#I=&6@M2[S6D$FYJBS24_( 7 M,P10<700=AE,\>:3<2PE21: =&]#G,_!T'HDJ;B+K8P?$%;51JX##7-.'9D% M'MUYD#)2 PBEK-P\U,DA! /$[A9F=X#!$60AMV"H^P\40^G^21P),4]08.J@ M;&WI<4B6,I@UGI#$F!)#[+SP4G]$YC'>5X'/--%5,MX"CNSWBS$#E=K"TWL<-9'#1/:1\^T"A MF!74GJN^A*XGM "E.T 25D#Q D5F#K;6 3%SAOZ,1/,OY4Z&MI[2TBT@&3P< M&0<0LW#8]!JLE/Y_MYBE++<%5]W=T3YT";Q)2W%AA?UB_R#W@W=$/LEKP5UW M@W3!/2[#H;YK,)09WQJJ9B1_UKTE>F"40VR/N!PS6#J!!2=3#$C&P@'42[!. M'53UI!;0=#])7>".0W"_"!XS=$8:"V:ZTZ0:S>.PZC.8Q(Q3%@K1<)T7]30-F4]HN,'MQ ML,B&[@NKNU;"2<++;;;F.@ ](BJOXQ/6^ .B:TQ4.VD<;30)&6BTSH#CS3UKY9<;QU MN.]Q+4H7Q%OFLF!M\-OEUZFXZ>%%(CLZH=PRFP5FT_&S/ K$P?P2,,OWCOPH M0'>+>S$S8CE-TNTX")*'+NX6#RMT'U%O)>^-IMA#=A'8F66S>'QLO,A'3O]) MN7+^+Y0,\J)E"E\AD)8.5/%.@/H1H'0#3CW&INYY;2\I=7DM(M$<-U86B;0( MD);A<.\GL"Q'T9A<*P:[L[)(18? M+*(9&33 IGT:SI)Z452NMD471E8I$+W M7S9(A3,U?I3&D+/UDURYBQ7BA"(!@]Q4Z$N)-'.W2)#NSMQ=KX"L)G*I"N*Z M)/?:.R';*UHVQ[_PO4: .N2T"(?I2&4ELK8L%#A/=I#OX(92-]XU30@GVMLX M[3)9@#8Y(Q5;^[1QXO#M$]]WN^#[SH:OR;%HP7?D!G"O4?,E#T(M58U*[X^Q M15!TKZ0U!E]S4EA"]IU4]2A5758?._.QR(SNXK0+@=O#>*&7]M2?2>1OC1RT MR-&(^$_'NM?2]&)>_$!>PMDA^WW?4.SU"46;/.@NR]Y>4'32LM_IH:)UH!/4 MSA1[\++(BN[(;#I[5#8N-D9*)RQ]"4LW:Z(["XMHZ-[,9M%P#LWO16FHAP-8,3F9Y%IHLBV8.3151,[LLVHN+TRO?5*RTW MV??D9A$6W07:6:]D7Z';C7_QP[6E';%V6>HWW%Z\2(OPZ?[9]! O*A[B+?M2 M@L(A7FUOKM,)8">E+R6E':,#>F!JD;3ZX^(M)J266'0 MHTJKXVR1I_KG%7;27$])+>0UA*H:3JQZOI\@ME?P_R'_"A-(/%S2(E5DD0?=HM MM42FHN_H8V79]H+\+:*D>Z=MHE1P#21UD*?XDEJ M!H@K8>3L9[N<^DRU>S MP2(GA@L":I[:<=KFI25!?2U^:(Z,V(V)11YT+W2#/*BD\@5!R 50]/9"4V?- MT#ZW10IT][+I92>G$?I#OW(%5!?HNV2UX*Y[=DUW2CF?V@NAGONWI**->'): M5^A>[ F#\0('$4=^,4<[D=B=KT5>=/^L05[*/K-"#=255;(.RAY-:J%)FQ.J MOH1J+ Q^7_8R?D0SY$54^30OG[T@\I%_1<-U23P20 2[^&FR766NYV(M(JF[ M>*TB6:P@R&L(TBJ"A:AC57!3<979Y=,V[S-XG.J.VF+[_(Y MBZ=GQ&=H*3T2A9[L?HE>-Q86_ UWH<;\*\>-G!B\K!B4319(MK.'D,,@.0AV MOOT-R:N'-BMAP% $N\G';KPM@F-XL]@H.%5;2!3_-P94!;)C;O,MR.L 9"6< M8/7V-&B#=FC[:&@3"XN8Z'[9]#G1C7I.E!>*L:H9)PR[/CC:R;72):\%?M-] MK-E#I>@QWK']#UU?_WKTS/PSN-E@T6CY*?E 2!C77GV3GU" E&:5. DYP'\D MNQ1B+3M#]!%[Z!:MYX@> +7Z--!;3(7A7\Z\#D=R5_LS _E:9]KCM:R6@> M"7 XYI$L_3<:1IM/!\]S&N S+$@.0/Q[@R@._8>85415547). CD-1.?#CB- M!"LH.%$QL)._CQH:@T6O("8W9XK'%:X)$W-$C$=ZT7.EF=TS#K(#\BL+TY85 MOU2KS-$S/P]"[]L+UWH! ]98[4GXB/V3C_>0^&B-/76-\O8AK5W:%!O58)OW MKY!^$Y(U@1LLQ"EM3O5K7/VX"NN0"(5%MWO4'$O9)=Q>\23O' ;R1A?19#3' MO'&4Q:=^:X+.DI?@JN!US#18+-/K]\QGX\2*5_D]KDER;$(V$7\;2A[6BKS10U]J3$ M?P>@FR -Z1.DOMJAFVT"S#6UU40Q6!WU/Q2+4B'Y(C<=RV)I3!JD#/YW.&=C MK_"HPV6 U.*NQCIH3S]8W/+52V(4R$ CBN>J&ID6M5$-9JZP:M0++/YF@O>E MT!?+;5E2:Q('*:O=GOK31'?G[(.5Y"G:))9.&53]^R#Q++T_-$6/6"S!'R#% MBP6;!) Q]?1+4DABV;3.4!R>HCY"4?UHL&:003)>8[()(UK&RY@T2,AFJY!R M^5)':G.<(R@[]R:$9!(Q+@Q.>O$H%5/6M@XY7HV1FJB28K09JZB92MJK:9K2 MB67Q+'T:IEA&%/'M))1.)+$$R!;_^O=7@X.,ADZ")?\)@PB-(RY&DCQEDSMJ MZBF&TDS[0E;Z9]1++.D!\W'"LNC J2'X[DJ^I84B'RY2$Y3<+-,50SGQ]4!5 M>I'A'F+_FDP@6U6]+EKRZS&5B_MIZ]*Z\YYG69URT M1YWSJG$R[^M89AC=T\ZBS MFFD-T(?!S/$>4R7.SJ:J88'>&(E39$7+HE< M-UZ3RV=/F!IWBW/!52J<@D:VDP[%%K:[;S*#JJR>].^#5$MCY:C>/H3Q"6FQ M\F?CWT(9Y!"*]M/.0K5)PX@^:=KD_RY;^R\Y;I)0 MKY)/N1H'5DD<2NNL2C-?3,1Q7>G#"LD3*V).M^WX[\-AN..3XC6:BE74?1"Q M:N"C,6V8XU+,ZY$0;[F4X(+UVG2E78U6W2GK8 %-;BZ23U"&0 M1 O!0\H_7+7T#BO 5H5;P8Z7V MJ+1-?T=!MC?=2-*_/NIE'-9H2QIIEAA.RD84/*4S,VNTG:[8YK3"/QK3\9; BKXM M?!FDIJW<-7B#%P6;QY TQ&[/7U(0>H+A.(JQPY&XM,'[\WD] S$_5U<16.W[ M(,6V_<,&V8G;W<.6C3P&.[%,Y5%A I?RY:MDMS<_F)4_@E[8@6A+_VH6N*5P MYG1TWHA_96T+Q[F:J4K[2D,(@M,"]K0F-5$,KCF3^29WIU?VL\UI@U1%,A0O M?1LR=W\5OPUF5K"O0/Z)B!_2"[0)Q?R7-:?Z]=4H@BE2!_KBTWVW4#ZHALDM M)G@=K3,/\@U>8WX)O=7_1I#RXF&/G3*_(K0SC2^6SG)=17A(MW=S%@IU+Q:. M7M$4M!$.IMGV\]]).&U#B%@CR?#B#>ZAT.?>M]M)&'ZK7 QA2!FD%A6&!D:Q MH2$7NH688%PT51J)7HU:^B*L+>)3.!'F9O0MVHB%!"[CUD0Q2/R4YS\=-N,E M1<@.:1> +?L')+JX#(G#K(A[1_MJIP2V2'CX"S-*9*.#.FI M()F%G.L44]HP=W9**Y;V!SI?S4G.>$,U-_SS.(WJ]]=C;HQ5!I"RD-8F#%-19&/'5 M#?R&[@C28IYJ$@?9D.OU1M#=+?);6[(P>$/*8$:/514^R!#^B&Y5[4_*^)C3 M!@E/OK]<5>C5[X.LOG8E4'9<44\HRM9&QD'^8%WU^_.#H/Q6G4JUSX/L>*._ M^:$89=1$L8.UYO.SU59:KM%<(?=BBR11!$P"%U4$O-RH52%_XF\UI4XQRWTK M+:F':8(7#AZ)\9(LCNH.KK2B?47Z&^)5!+^@)]-]1S6)@QR)"ICSZOM9R1)7 MAAM0EM\&T9)X,##:C=BOQ$?T23YU099R;U->.*9>)5RO,6/%,-XVE(-I>(O= M@/3V)C]QZ$KO;6ZWFU.'Y^[5=OD:-KG;T?[PS>SXPF?FK= :?OY_4$L#!!0 M ( /!):%>^]$C@(!$ /SR 5 9G1C:2TR,#(S,#DS,%]C86PN>&UL M[5UM<]LV$O[>7Z'3?6GG3G[M2Y*IVY'M..<9)\I83MO[U(%)R,*5(GT :5O] M];< 28DO A:L@#X.M-I+&D7Q+/876 7"_#'GY\6T> !4T:2^&1XN'7PYY^^^O%OH]'@_.+RT^ 3?AR,@Y0\X'/"@BAA&<6# MKZ1)D"QRG@]%@GJ;W[_;W'Q\?]\(9B5D292D\ MD.T%R6)_,!H5S9]1C/CW@W.4XL&[HX.CX]'AX>C@AYNC@W=';]Y]>[SW]LW1 M#_\X.'AW<%!A2^Z7E-S-T\'7P3<#S@7/CF,<1WF;$2!X%Y4PGAAYQX(Y7J"K)!#=.QE6\#S=TF@O MH7?[1P<'Q_LK+B4%_S0JR4;\J]'AT>CX<.^)A<,!C$;,Q+,-'E*2/[7H'X\% M]>';MV_WQ:\K4D9DA-#LX?YO'Z^F N<(1B@%J>'A3U\-!KDX:!+A:SP;\'^_ M7%_6&IFE 8PHHF(TN?@/WAX?[*?H*8F3Q7*?L^Q/4QA2K@UG21SBF.$0_@ N M$L+WX2F*^/.F/:3V466PI?7(%X2@W&)7S^C)>\^F]Q&Y$ZH M%CO'*2(1.^K"ONWGO)0\]&.T^I5-9F?)XI[B.=" 9[E*V+;TH-\S') #8O.+ M*'E\$?S*ME_>'L9!D&30BVL<8/* ;B/\":?\O*2 MN(P?8#@22C"K]:[R?6_@_=M\>9R?*;Y')!S'X22=8WJ640I]&3,&#GG=0QU5 M;S%L_9$[GR?$Q_=/]]R.>\,W;\OQ^6]'T]\N;2&YQS1=@LZ]_V]&[GF':H8J M(WB&^F_^E%WX/UA=WA'POKG)00^A/Q^2)'PD4;0:RB;9,WSB-IZSDYF19C@L M#)4UW-(50;L1;4.PS M;K.\M1$\:E'RSVBR.!EF;'2'T/WON1$7XEZ),%D3\$4PC K_A_O !Q3QR6&< MGL$H+&'.^ 5%&<36"0TQ/1D># >/F*<)3H:'PT'&H)O)/>\"BO*QL(FUHDV M:)HFP1_S)()^,XXL7O*'U F*NL%%5=F7T 4],O MK?IY!Y=!ET&J[F\ J M&:5E "'2Q)/9%Y:O$/T 9SZ&22S15J>Q/4=;950%UB-/L.JG/[[JU'A7IT&J M+;&,6#_#8C-MQ+5^8.N8$.NNIB1>?DKBP*<1-#/"&PH@,[J4.)P*NI%[\#JC M"FEJN6F#QRZ/H)FCN4%/6+7(=AJ>VL5(\D3OGX(HXYO@9;;(#XP=KN:\6)Q> MQA#T8QC)"GW5G3J-T#&.GLREW=9;54?O694AF MSH7'$!0%Z:\DG9]E+ 4MI:L9L>EMG,:K]C8MC^(TCJ[%"T]M5KU(>]7B-#Q# M9Q($V8)W#1>YW&H90>Y,>3$!&.-D!E[5#^B=3J;8)2T2V64>6YZ1^LYEI&:^ MIZG*7D%4NYM<+&#UAFYGG-MTMB'+Y'E._YLHJYPHJ'!,3[ M0:Q8GL3#?F\**DKJ2")>T)C0^MX6A\( B\ Q0^Q6@"EZ(G:*]G&4LO(;L0TF MML"TCB5"MSA2.1\+G33;72C=O;;<0;VJ2PAM&*5B M>TQNG7)B:[Y$ZT1L=,O8M-PP)NFNE+2_,DH;WEFWLR3WR1H."P Z]H^D$/0\ MED:AOC>D%'V-S(Y[4VU_J#R<@MZ*>>JV.!1VJF&QKN_230P#G9?Q60 CVZ20 M]EY":'%JE^\\:"=X*8L-B0BEU!:Z+#9EH$4@1&K!4B=FP-2-%U<-NQ! ME?J7FX*"VHI25;/Z"N6ID%A9$I@DZ!7+! -6"Y ZS-6F2>JRZ_+I5,U@9V+J MES97S56]6K$37W5GRE7Q5B>G XJG!Z&BMM!Q9;9;VG$5M86.F^2PI1@,&&TI M4#MAK5:?%FU^SD&<=6\>=-CA"8BM';.VO;=PA4' 6!%NE1T_7T^7 M. 09\6B"GWD)@'2\X)\\*7O>0"P*KOX5M#M*6/>$VDQCF[*[!DVMH/UQ*MMR M)^72+]'BB)O=R@T.MGV)9&':7-I6W0?\MEZ]^N$MU_V]@._S)'L&.E4H%PS9 M*9XE%*^2 9B]?X*@#["1&*;-2VA9S/$\%$PB>,+=)9@2A867UL'Z)B=IQS7X MRK.B,G0.UD)_H #H,TUF1#IL9PD#K>=QL]A.QO2!@*><)E'H"3[)N+11\CNC MH%%>"'".'W"4B/1[P>&'FC8\4!OCB]J[#Q+JZ=)U^8D+D!.YB_/8.%C>4!0S M% @T<2@^%=C"_V1Y'-HJ)W3Z2-:.YX;RM[RYPNP^^7(VSW""J#E:'W!US S7 MX"CC#)<*TLP&K[9!>#( _@N]47ZC&6.*A5:#N7]$] ]<(?<#I.%T 8-6P#K% M,5:HKH.S_HX=F#SW>(U11/[$X0=$8MZ527Q.V'W"*B=7G#X%:&0('T O*(K M$,;A@L2$I9SG 3>MP6FDNXZ%^-("R)/ZS-$4F=/US3M?(E0?UU4'_\:M;)W! MRK-=AJ7DL ! .ELTNERGL;+C_N(:V=K ?[DGVDQ"=HZUC-)FAYL3E*J[*SH; MI0GMY72S.J%"8<5+J5,]"B>E9+"RZ:K-X2CV6W4\MK9:7R#IH-ZKW?[#[%3P M*1(("K^M(+>BML\(HQ7*W+\E&\&P=HJ0Q(7:U8(;6IGJFET,:H4 M4>]F;$RU73&I?/KMX+(U'6@"1;5;5S-97YGW*^LRX_5NY[M]=[_M@)X?&H!> MP?KS@8 @3I=?&*\$7ZV=Q5MBE'='>+@!SM$VCOW">C"E)(#A*(X%U[^H4'[& ME' 5#/BI$7R.\W_A3.+FLX1Q:=(.)$%=]WB<7[L+CAK6E)5]$&B6S8M ML4:094[=WM912*%X+YBI%"8S<<;ODK&,WWG.TQB>"\#0I9QC"/4#@HHP?KQ( M:$K^K/L5I_=IG/4K4@WT0:);]BNG&2,QSR[D1WC$D.2_A#)Y^&-AIBZ&)@'& MH8A5A).9"&#L_1.F 6%R*7@C!$,WLTX"3%'U/35B'==>Q!T[K0_V74[^RV16 MI9[$&_7+CYLS-_1-55,4>B@6/=U!A8\R,;3,ZHP_F:U\6GT%Y/1%A]O6B:Y* M A^%8:@,D]FL^M:?,YBC2W'(9O0VN^,J849YO*BY1D4O!&"(:Z\NP*R#<^:H:A4( MS(*T?"-M3!^$\"[S\0J($Y@M^NP^WC8\HSF8HX$>MZ3K=\IKS+>5.7 !-R$L\#[T, MAHW338WKA%2EY*]XQ=V._=K7=:T%\=TKUH:V)"JOLUZ+X/O_*Q$45\:4EB*] M.F8M&R]74<^6C1#!FKLAB]>\;E [C>*RO+487N$:HD,C&J+@^QBM^S_7658? M]\N?+9_2C125@&LI^+BUN9F6K"\?DJK%*\Z^=SG2XD[$VAOWS%/P.SMOTE," M[<,HI@W\=9Q&<1S RL:'Y.T,.^R$.ZJN26B;J;JL 1NW*?8HZI+"Z]& C6)V M19&6%(J"V(51:=<#F0U&B\\="])D;\TL2-: Q;&25RUIATG*8N4V:DW=D12! MCL,%>]'6N9B9CJX).^\MZ*I/JY+-Q ,2P D6*R)#9QA&>EZ@$D4,F5P^I=50[2,=I"PU;-D9%54.G$N)O5"4BU MK7%#+%4>)T"8;6X;HC-JS G8\GUK0YA29B=@M;:@>YI8R><$F!X[R7T&SJA% M)P30VBHVA-GDWS_#)FW 'HG0/]UF.I=* &U=GK-_-(WV=Y328XS#C M(;WTY^+-/-;OT#!Y>V?]#N62CE4)?;CK0='U-L8;BD)7 M"_4=VG$4)8\\^ 6LYTEVF\ZRJ-U&<\C=KH;N'',1O0$5P3D5C]JNL7A_V6=$ M_;EMP12HF -YE'H7\PS 99R_1V@R.R7BSC)/#H$;VW*IP.6R6^^_C,NZ=_8& M2]]?K:P=J-9U@#):"YTVF "D +KY;"A1/[;6PM&=?AE]MI.#W#%OME MX$9EO>MFL^AE.ERDUMWH>5U;L%?R3K65>N5[5];GLI=RUVMGB]\O^/V/ $1< M;NS' M48VR\HRD1C_/9C^B!?DSE1!NS!.]15&J/O;)W89KIO!-7]4 M9(I+)UJXS3R5NO9..BI7W%6/5Y&O@I)?0)2PK,#W"2.I)ZZK)TXYFR:4]AZQ M&-DR]9I?N]\ZX_-:X59>GN''%3W/ 3L%OY4NSY*(+[%IY7H$I^^?>:;=RJCZ MWB>SJV(*8X"MRHINSJU%4$V?WPZ6&A361=E'>%L7E\*1MJ4F)]QZ/VH>3MV+ M*MG6^M!V/.T.M&ALU=Z8&)[*SAQ:H(JWMK,I=[!T.9F)CX6NN[+R%'WB:B_U MW[77S^=4/BPSM:"F\X2F-Y@NVJ",EU:[,846C(8%K'^W^4JNKEY*"*V]GO\_4\ M7;5=4]Y/(/&;1QP]X(])G,X]B8YW(9E_8T1O'A,_@N>="02AM6?"C:"VFG,8^FJJ MVPAQV8KK0/,I;'.HHAW'P>:3T\9813.N0Q7N=7.HO!F'H3:FDXWPUMMR+7@K MSY)7CY'7JBED!*[$;LJ#\(I2!"6]> .V'U%97\SC(,@6F:B@JEYN G]'6'++ M2?=K*EPKUC 12/OXJ9K%)0B%7O8#D3/9*4';DJI) 6^M>==\\&6H+3M60:QZU./U:;&ZR1K%=Y9!E[7R? M&8LK;K=]PE=5Y%-0UJH)//&Q8@ST$"OKH>J=(@(TBLXBQ!B9$8#OTRE'\\&M MG(XH,7MRV*W'V"JB;*]*+Y]AK^O+6J4'^AP\J=EC3 N4E>JBYG ZO?-E-)SU MXB UA[,'%_40VP&:@GYK96.*J:S6'0VAK0(R8Q&JJ.U?Z*6>3U79"2/N+9[F MD\V#;<60TEDO6&I/:7+UT#-MW\QJ,Y#&RJIT]CR5;"[1>2H)O;42TYZ^MH/I M%01D#=?A3-PUA9 X1#24>[A7'YEL"_[ZSJ/^R_<=U6@:(6W6:^J9_IK'7QI8 M5:]Z(*JP:7UG\3W_WRU,P3_]#U!+ P04 " #P26A7E4]R&6(U 6H , M%0 &9T8VDM,C R,S Y,S!?9&5F+GAM;.U]77/C.)+@^_X*7]W+;NQ5N:IZ M>GJZ8WHV9,ON49S+TMFN[GVKH$E(XA9%J@%2MN;7'T!2$BGBBQ1$)&1%3/24 M10#,3 *)_,Z__]?K(KI8(4S")/[UW:_?KNZ^/[P>/U:/3N MO_[Q;W__7^_?7PQO1_<7]^CE8N"GX0H-0^)'"9HN?[F\?'EY^1!,PY@D49;2%Y(/?K*XO'C_OES^ M&B./_7XQ]%)T\/_IT_N//SU]_OC+Y[_]\I>_?/CXTZ=/__GQXR\? M/U:F)?/K__X=.'5Q*\NZ!?(R;YNS5>LAG.G@;I M=D)U\(^7Q7N\><)._IQTPI M@=&[?_S;Q45!.0_[.(G0 YI>E/_\^C!J0A?&Z640+B[+,9=>%-%7YRO,,9H* M\=^@Q&CW(Z/:_Z[,3-=+].L[$BZ6$7IW>3!,]-\H9D?C?8"F7A:E'2$4KG,\ M>).%%\:'@UM;QC2T^>+O%VCQC'!74'EK&(9S3I?#?O:,WF\)TQ%:R4HBF#< M[T/+7C9-?'J=+)88S1E8*W27$/(U]K(@I*/JV-*WAN\W;\O1,OD.^W1X M3!/_^SR) GHKWOR9A>EZB*:A'Z9'H(?^N]K2)=^(!/D?9LGJ$OE!0851'(2K M,,B\B(SC:-W]!3+$ZIW#:A&\T/D4F"F'OAL2BT@[4X1E]0.D^"4;Q")&5G[1!BF%C[^'@_ MH"#SV9M'\6V"_$%Y0B9@-PRABW.@Z(2EI30B#+SL^90;I M8H*3&?869G9!N_5ZP,^GVY+D@!A"L-V"O6+(](X@B]!X.J&;*F0;#*^I+E?J M9N/ITQQ-,NS/J8(TP:&/#L'^T)?U<>I7*,Z0[#-]^MSF7+=8#@9V/YC%[H?^ ML+M#=-N0+>O,_[QY73*!L?6FU5_K^'A1YDC5G'1-KP!V82[9'7F/TNIA:@YH MC;&)MQR?%J,X]>)9^!RA 2$H)11""L]O21*\A%&T_5[[PUI3P\Q[;-/#S/5U M^#N.3X='+T)4_^,+E.4Y#O^%@JW]L@(LE;@$\UJ3JA=+!9A052ZA:^37-]"L6'U[L"W]'!:F)F$F;P#9D"BEYIG3MCMOK8MO/-? MJS]T%1H.6KXG[&O&,8-?O/6ZQ\>7WE/,)#I!^''N43"WDLR 'L@@9.ZK%7I$ M?H8IL(CC),%^UQ96BHE0S84!72Y44Q?C#8+MB94SP#UQ%,+&)Z\ M5Z,\M.6J?5D*T8RQ]0H<)JV"G1:WAOEN^[+-Z<7KQZ; ^WT;<[+][#[9(]$_1G1K_6 MS2J7?,S<+1U6;8OKU"//N8\Q(^]GGKO*;,MT95GYLX6R""C573V.]PM\3I83]PA8G.\\/>XT*\ !-PS@L7AU_KPU&#,!@Y]9BJ]OQ M:3)P-P!'B5^#,C?P)1R?M";-V"\[DI4_?-L"1JF"1O2?VX\2><\H^O6=9."E M17"?/+J?5* 6@RR .4[G"->^'4ATP,ML MD&V9,\MX5BH[1+4YA.,M ,_BUSSLSREAAU2NB)+CBD] MM]J&X@,(AP, _);#RL18H7 +SI1;FM4?9^IA^*3K&)8T&K^'^K2X<9H53Y&J'BKLUAED ME<4*C*<;EYT<7OY8:T S5T/UW#PF42"%G#O! OA_(!80C8(!"^*8H?N,':7Q M-&=49)RE+-:7A88K/D?K90"C*N/E[=:P=]P+@URW5 ME'\VHZW0/=\!4J&B/@8.GRK)UF U[3B5$<#\B+6 S(;_2:9$0=Q\.0+!/B12(6WW896V:R^R1.ZIM& MSFP4DZQLMJVYC4IF@G ;5\KW$QSD M ;JYQ9Q^)I\)JDDN*FU.F18IS+[1&@$IF.7.O**7I/@V$HVV /@V0D#"YNMC MK.CX#7NWPDPNFU%#8.6/@+Z"=%K>A/E?AFJ]Q0^Z0UL959CJX3<*3T54O?4!M9$Z!FZ6.(PP93%_/KN M\[N+C% DF7A&>U"@X\-&DR]:,>XM9'DYH_6T37G8*J2YUA^&G?)K/+ 5*FG M\'@X2P25$Z1* X'7P3G@NX:ZQ1]Z] 1[M>B480WAO_1B&\6_J'# $09GOQ%D*'"(%;KTOSF'?6@[<\]\X MAW [H4@@23B+]1%E [%SS"RU/@-EBDI7FK-DT#LJ-0^<65Q_ /K).3X]9Q'7 M^\@2\IC%_"]@,:_:RLWB_",TG,5>5;.(_Q4:XNU]LF8)\A,T@J@\MV;1_QLT M]#4]OF:I\#-L*AAV$1L6J<&95X7N8<.(@U.A]MS+AM$%)P:;<%P:IA$X*5+J MS#>,/#A!4FQG,HPY.'&RO?%!19&_7^X1A+[_.\24:(V2P^?4Z--(C2X^+V-Q M2>?NN9T0VD59:$X*9'.E?J M:>*%5*6^]I9AZD72#2Z? ^?+%7O;T*=3+6;CV_E^MLCR:F4BJXG\.VK/M_5- M']"R+%3/^1:R[R>?:"6I/:6B HVU@OIAQ$,AG.R @6VP: ]C*%C)VZQ8O*5Y^F^ [-/.B1Y2F16+-8+&?4*4YJ2?XV@,' M;J-4.G%TNF)J\^$@EQ_5[K@UIQO;4:/%DJI;I0[VN(P:.8.B4<8@F.#$1RC( MW7K#TKHSGM+_I^CGW8-X *DG ?OX]^@E?]+ER^_FPD&J.&X=L=J?;$5TWR32 MD:=$()-7H&?_93VN>!O2R)( A,1!'%#9*<2<':@I+*9CX&XN,XKDYW459VQ5=BX_=N4Z=S:[3%@PXKEB82)L\ MX6+>"!-WK'=IQJ5JTP8N14\VIU U1./6=6,[+EU+-G=6-A M3CV7]K#@&?$_L_A[A+ X5Z\YR-C['Q*Z7#J9HVA)OB08AWQ" MR,>:"^GVF%WY^Y?K).%G>XI&F?L>'O'BP2*,ETDF^R*<8<9@^.+A];67SM=7 M:!ZC6 P%?Z Q./XO_<)IZ,7WS,4OAH(WS!@,]]Z,\A'L75-VEGW/EEX4A6)0 M)*-A1A^H^-#.FM3D$\[YG[61%3,EYYRQVCCS6)]S/D;][#5P![H?[X-0\*(F&$T1,3'80[@>'J5$:IC$+)3 M.$?Q-,&+7+$<,K]G1-J+Z8*;GOOFAHY3O>T5,XS)(-SW\,IYJ4;;R//!V(MG M14&W01S]32Y3C)66GCIX73- MHI Y>T4XK"<0=R;9[?':!X=+ZW9S3PD9FY7(V%8>3ROL6\)]^&/?RIUU+DD( MKX;?N1C>VZBIL'?_2NG/'VO._IO%-T%(DOAK&D94:_LG56!95.@Q\$D\F)A',M17W4F6=M7]1UN]L!@Y;JU]Y_V!- 7>@LOLH40 MI/IS"QOL9K&,DC6J5CB21BN(Q_?YB05AA+MGT/:;S6"L:XRHW'7K^;F10LH# MN$.MM#E;)=&*516I :3H=B:;TUO\)=E(8*(]NC>B?\ D :#[8R #=XYO/,2KI8H*3&?;XL@M_C'VMK9=(2]LW7*VI9M$4L] MDM%]2=W>JUSJKCVW(M_4Z@U_C<.4/#Q^5<@WLCGFVB#&/JL:CD9QI3I^X?BD MZIVX$WC+R5:(7J]K6ZE[/$33T! MYFZ&>#:@]_(J3$-A^'R+!6SP2 J:B">R1\8V_!\)_LZTAJ+F%&]7[XVP0(PA M>DY',3W_&6.F7^.,?JFK!./DI8"+7@]4HEDP>[N 9FU6,%>+AY7JPH4].OE" MSQ [1Z7)XRZDS^C5MKX+%V%ZX_GS_Y=Y.!44ZNFTD#EA:.6%$3.H;]\UF*:L M&E7AU:,4O UC+_9#+Z*_%4X.KL#491U;O?7NDGCVA/""[1S!IFJ.LV'!FDX1 MXU1E/; G[_6!,5C ,/!_069[OACSQZDRH* M.Z^TV%.HFFAN+]7?P2&S<)B5R[:H;,RTZYCUC"G_+R\P^2\4?!)>L:IY-L2H MG1P^\? 8YP[BHN0J/:>Y/T/@[2F^S." #*F)CO*8WNZR)L&J6#8=RE*^+ KY;\.:5_5/8%%EO ML@6T?D,QU6XBJHP.@@5EZ22_FE9(CH]JEK%C4#ES13']+)TGF#$/W@&0C#9H M#M@(.$])7MH?H_$+I0:9A\L1"^ZC3_F6 (UY#F5LJH.&'.RQ?,["TZ( -[BF MT5G0>)0&>)+)$I"LT Q\=I(B$Z$93;")I-Z+(W$.O3[BF6JMOL5A+4!IITR" M;02^;#,^J]L&/':BW%8=]!P^WSJNOWH3/FD$#%#\U9N8'Q^S2UYN!(* QU2X MH5NB"GYSGU-K6Z3%R*/V:TW(.?$K,)$VVPKGT P8N#1HE5,MB+9Q%_O3S2/6 M8H#B<#3QH8?-ZS0UONZ(@[_Y5 GD@NA5SE7?C)]R+CE:I:G68Z^<0Z]O3541 M"@:3?@;%GYXJEP'K'*L?9 )K MLD&C=H FS$Y!ID[YOB4$)K;&/GP1N@JS%Y+AF[N7BC]@NCYSXX6=:P+5;C.W M"CTV2PLP+9P/"68V2Q(P?9P/B(LV2Q%P?9DYP=.&51EP]MSN(=B&*0-+R^,' MI'FAJD 3A#6"4XW3 -8LB(W\-TPQ@ E1F7\O&$2 M@!$46T7=&R8"+-%0'=!O&'UP4L#RAW)5TG).4V\NZR0D_%6E0D;_Z*D*25\$'+]82R M" 9A\3/%!#?!/J",D2!9[X*94U!N M3A&<9_WYQH@\]-:KNTC2/+0^P%QN9.%PR;6(\#G+C4J\UW/'F2L%$BWGWB/= MQY&D+MK^&'-OWUZWNM10S+"1@DN/_EU"R#BN7*N"[TYN/59R:VOQJ6;M M:R.= (WT5":PF)!6-G$1JOL4/(U$J2_]$:M-=J M-IOCL(T&DVXZUH>#^'0+F=.Y&-P.AVI/GG4.Y<,VA42T=BXBM\/';XKSSF%M MX/NKU IW W4/8I0"3<7=Z-7N.^3$C-F5R)Q;%I6SZU_&\E!9WT8J?3 _91CG M%FU<$40Z6[FB9)EK<86C7%4=7SG3RC:)HD*7+2)!Z+]UL%%.@U- 0)S3HX+25]QBD<-B6VX4=[ L0SB'=2JZK1\U"Z1P;2(!J&>MZR])=L:=A'NDP0?1&+[)DR#UZR1^) MMX;69#AHY4>P(U9[+CU! ;JEDQZ!@"AO+;-YR& %"ZGE0D,'%$2TX M31MLZA./P>M+9W2QMYG>A%;T8:-C>(T M#=Y&C7LW2YWW7^+VV+>'_,3!I)Y1AMI6<7+6>FZ,)/M*E[,V]/84T=#8W W@ M-$.-/97/W6*=G46R5IJE._X6%IA+BB\$R^%RE1'Z60BI0-CX3GLV!^D4J[47 M.)"1JW7E+[T"#)K+6$"5 YG$6"T:;2=\<)<_QJ(,\ARR_'1+$%#-LH (JY&^ MEPXG-;.+Q[L,O/'X7D5]"TY7DTHQB^K3G@#:Z_K9 *G^O$\J"8JO[)[!8%L; M%:M(4"&%H#S&^05/F>M]Q@A'!8=<#BB>ZG.Y+HO#($N9P<,OW*(_SYC-_Y^O M3]CSOR,L=MSM#['ACB][RCZ@J SED<8\"X>?TA[HFT7O=9=J,]Y7SK%=VBS$AQ/_%;;K?8;RUOR_(83TBG@0+R8 M!;3U:FYSD=2::N-+,BH_2YK0E3WHGO=[T!4MS\GOS+3,6HJQ$%+VF9X2]E.E MP=@?*)S-V1@6C3ZCEQ7CZKD>5!3KS;R(Y<$*$]S@ B#LXSB "WBV>[>[>E51?KOHN! MLSL9:8)1%+("L'A==C*DC\?3ISFJ7?[GH-IS4.U)!]5RN.2NE^\HH*>?LDMO MS]F&+/K M*Q])&?Z2:G)EM2TZ?IS.$2Z>];%-M6$Q%\\51NB)BHE% 39V0/)B=*.8"HU1 ME*.SP5"\)=HOXOBFF>!DB7"ZGD1>G%91[F&3B-_M.%'WE$"2[_>GN1?_EB3! M2[B+HC@B<=4PP+@W:O+G3C;=0+E5 ;W78='G@&&4ZS#Z=\P![W!\)P[1%%%. MS%#KC?#.A$X8-'F\FHN+(-I W$XK1BQGD+<=8&+>!O)D@ M#+4%Q)F0BP>T0G&&9'7*/GVV$%11PK4-CYH@G,/%ZN8]1^$L!W![X;#XD!EK M996&9%J4/6U\P$9VJ[$76$GR/1!Z61B'H<5=),MCZN&4A91)ZY09?0E4,AV" M/5BDZ(\^Y=S>[*"]7UD%*J*R_5?$0(M*21A;WD%[OOE;IQZ[:89IPS19:OL$ MS-Y=1@F\Q_YA$EI#H 6PCQVV=P*@7O6>)O765HY!=M4 M:ZH%E+[&%(0(!0_(1^&*'1HB1T0RP4&50Y=W5J\^.9."*;5JJP=\YU$><"BK>RH)3L\MK[TCSR $5;+1]W.?IZ%X"SJE<7DL@N M$&=$^SOD$40>L\6"]22;YG^6<43V,EOOF$NK &V(B(_#I8YG137+:G[K>)E7 MPXAG.7Q!X>W4RVF53+6 TBBF^PIMF]+=E;$8$K^%;(8%!.KD9"5L!'!S!L*A MMS1G5#['BOI 4F8$H2Q2VC.A.T$IZP6AFJ#< ;::7J$Z$W'@JN']-:* MDCP0K^3A4FKKS+2 D(KL5JG]B**HB"[]XN'OB+$''5(KIUE Y3<44P8749@& MP8**&T5YCQ72P4=OKH-JL:;HP4^ND5WR,+6%#@DU:DFF2ARIN "3)AKJ0H== MPA,[@.*OE0.B(0=J[ /G=6DM\:RN2#=$(6>UYB[,DB-<.8M_ZX^O):LYZW?M ML!V.M@MZ1+OU+E#+D,XFT;2FA:80ZHP];9,954V*ND=IM:Q<)H1/S^:FF&ZC^H$((FGM _DD2&A+_0MG:E>1(%H\42)ZO\@I*;(V4S+" P\/ULD47T;J72XQ(C/RPCL)81 MRF4 >HDNJ'@=_JN(Y6M9I\S8\C9Z\VY>+F_)NS<*TNFB0D+;8\6FV.COCOQY MG$3);*U'=?%X&\ G242&+*>02M_T9,L9@&BT#=$FF:8O'D85O5%N<1:.=] J MJR^F\@VS*FG06?-3-\*H9$F@Y-"R2[80,+5(4I5ZP--%UB3J>(1QN'-B!Z&W M8;X2B90PB='!XZ.G2VMMFNI><];LVXWIFI/>3X]P\E/6$#.=-14;OJYSG>'T MB"'?#1+UPUFS>5=2B)099XM%=22$1#ERQG.P7P.,'FY*@$V-JVV$[OXP>[X# M<0LOHO(>:$VUZC]@C:"F8BCUO A:B_24!L=I!UI)?*L^[0F@O:[D#9#JS_ND MDB")-M5C)4ZS*FWZ=TSF&&$ MA%&KZO$V8H7IVN-IA7P26SU_+"ASW-E1='846=F256&Q&< @XEKR2<:85*,Q M9Y,O[0^!M4>VA:AKT8/25@M=5W/0%'^(*+_71K=TA<[CB\H-) MEQ[936?!W!E;:%ZJ;#QED?CI^@M*YPG%=(5(FLLW15PZ:^9**>'%?E@SBMXF M6##/GKET=Q8$H*F,I"T6L&H:%4"G9Q*53NXI8%$%3?-7A!A3%\1O'[1<3RB+ M8!!VK%%,,&8F&6XNF)L8X=E:;"SA#[1?.'OP3/(&!D+/!W^TO3Z;BC:P5IA+ M'EPSP4"8GKRQU8L%4@!,U#MH MQSHB\V8_'+:W8)),0W$^C.$(A3)G#0F'T6,GZSD;0W<8 6H2I;-A14V"!EPRD44QOL$RG8K9HM)70J2HH MTA[3G)$V6W(Q>!1UHOEC(0 MC;@3C785<)N5GA]0GJ0P\7"ZKL9;7*VK3R1[ MJ,4"EM&3?AK.0&,&X4GD7]'++/+6Y,J+OTNZF','ND4VFYOY&B-ZZ]UZ?MYJ M5PHX=Z@="W82K:@L6@=(T8Q0-L=*N?B4"M+C:0&/HDX\9Z@UD,D&D'&6DM2+ M@\(%G0D+ORNG6=_U$E;-&6B#\E2V!GVEO1)NFZ!IG )("ANHSD.05*RB(.^!X7^4X_RY&@<0&V@ M6J%X4HV$V_!N7Y@&C[TLZ_Y0]*&7#-?V'4A4Z;J=5U\C@4D1#8.56,#>.I $ M6@-0E+4X07ME4[0Q3H(SF"8'=$ZA<2YD&MR>,TBF-CF+O\*>5&^HP%.ZG,6\ MA82DUMV 4D&+28K5N5IO9.Y!@>D:-BTA""0JF,@;WOJME6>8SG+36X)W:&!B M?OS](+8P.!LT<"!%9 8)X%[=!_J?;SO7[G6R6(3I)EVVB'^8H=AGC2U@>7PG M. DR/_TCS^=-UW>A]YQ_B\;':[9P5,RSTXJ2"Y3,'RR?8P&)*R_R8A\]SA': M=AN76(N%PX& +G7O2":X#;Y-]]IC]DS0GQD+V%R5?69DP06"T3 E_OIA>.- M%GPB9"$FHVC4D2#@TD,\#@045CMD)X3LKM_UT%MX,T0>DVPV3W-A7.3J4,X[ M FGE=<1J8^"$H&C''33G&"/AK?_ZR"2TN\@7T[ Y" X1VP?N0(C4,;(+ -V4 M\N[3W+$6@!ZG(05>/L?8.;Q.2#J>[I@5[Q@VQIA[^_-R MMRR?'N)QMCXDBW3O\"UET\QE2"/BXW!9U)UY\G XG9*\?D0X#7U>MQK=6<>! M\ &M0H*";H!*)SL8R:"MU^^U997ISRZ;ZU5:=94,,CT0/ UDGDPS1 #OO]0+ M=Y%KR35'AE@O=9$""L6V5O>PJ?.!QYAW Y!&?QVU^I!W/XRT%"=G2.(TI;! MV0FP7?;:'CHMV[CJ CBA<"ZA\KK= ARK E#,#XGJTHE;XM */"4Z1'1U(L4) M7 ]*N[M$& )^,M3(JYT^5>P5QA=G8UM:20@"6X]SR.M+ WS3$DR$CR<1"%4F MF(0XSN&7&NRYQ[&%TU@-P5^;Y:[X9,O'5>LNO%PT%C M,S=J0AR\L-72R4KXB0@!O>K*AZYOHXE3_G9Y=%1]C)7*)5WIN@,]#B94S%%V M2#O*JXRY^AY0&F(TF,TPFM%+-@>$Y98DBT42Y[R)Y^/3F&4EB(*D./2IJ)"# M\)4ROJ4 S"P%(&&_/$V@-^!P#8KE6 U8UDT M)MHH)#P92S?/[CE$%B9D*[Z/(E8PL#Z361Y,W]*R5]D@&=M?#VA9-AT+*%\M M.%DPS# KFICWW"BXF8@4;99P:5<4((\(R5B#D@(-T]N!^PX'HT#,B+KT.D#TKUNMI-(H4/II!_E( M9=3:<=60"6$2HT-=>$/V@'WW@(#8,,FF*=..ZL:^1(HL-1= &8 M1(9Q*O>D%)@N&7O[L96B!=-9X=YAYJMPCGM"\E^K/]R\LG\B>\Z0F\4R2M8( M/2*\"GTD^%Q15#J^F:O.3V8Q:WU9?!/&797-(TV_Q6Z'22/(:#:D-/@N^]T( M-4H5R&;8\/\4I$4!G_+E\14YAO0FP_DN4JNV?(Z-8LEY=%G>J%=JV&Z.L^/. M0?0RGE/A88A6*$J6>;>L8@NHG#K*F3;X(XUQ: M"/+"*A.$S MC;[4E#-E,^PBT/)HZLRT@- P7(4!U9"%C=RWSR%L%^F9%8VVFT,TH4*(:F\( MA]NEN:P*=F.8K528XB,W0[+NT4O^2)H$HYYL2Z\I-Z_6[A&.M]-GPT=$D>XY"?SREEY+LTM*=;TR(^1H'"+_@D!EJF:6/-6#*6[,L M%B%A'A-N87^-6789SS4%@;)NG*NJ#\A'X0H%X[@2I:SF1AIKV*B.O,PAVIK5 M14>\.?2#"Z/&^*-/(*D'I2LF\-19",MD.X)(X]D>%V5_OP_,Q:"*R"A M;(9M!&2W*6>@@[$C4M^#($NP:>^'Z33N$K$O\F74H\R%G@.8A-!I :N[#U2> MAY.@@(5=6:K[H@5CHI9@:>8F-++[# MX+Y:\Q>0Y00>\8U@"*C,%E1.LX#*MCX*8_+CG)=+T[C$XT_G.]A,:3SPI P6 M3$D[SBDLU[:?Y]DFO]/=BENF[WE^H*69BQ)FP$0'#ZA)N:$6:W#,*Q]8,GCRV3J_>A4&*4LDA 8-4\@,O&8MY$AF%/ $IQ7 Z5\[H.D?WQY8G!Y7NM]_VA- 7[S7<)$MA"#5G_=))8ZQI?[, MYGXKO2-7**;\1*2-BD;;,(),I\AGW'<+TX.7(E8)-F91CD7;F#DC[8CRI"(2 MC@YBO;E3PBSCVRJR+\Q=+#*=&'Z+!4)]C?&V/"X%K?QD(H8H&@T'\*>YE_Z1 M9%$P6BP]/]U^H?+;M,-+M1@N<["^XDAFZG,L1*'I2[9M[G6[PJZ$.%#O=TKQ==O#^+0Z3 M!-I&/J4T7/ONCN<$M?[JQD4@9U-"6I-.*!0YFQ=BB@1*\MO*)EA;SD/?2\2F";$ M8_L"MMB7U==SPP3D8UT"UF8@ V6,/@6J#)4.R?>KM:)PN&P&! 08,/+RS)(9 MKB-@4^_ZHBSK?ILJ^["GJ@(-U]X6%'_7C7-4FU'\H!6*,Y8V+.\ MWR)W+ CZK[>D;'='U*>!0,7(5K+*<3.V+\;3;:)/*6*(/HMXO)7^G1LYJ$%B M1>].U;R^.#G5UJ2QG4K4%O"X\P+*S" //OY+K[*86J.KEQ&0J!_@Z2"++C1'"/ ;0^X<5!HI MJF2H:7%.HGOVA8+&3B/U55-2W\_^YVA70&G0E9%S=2\I$VN0#CQ%6K+T@TD" MG;GKI\=P'1!;J40I)9T+]&2G<5@;.MI:T"Q-[8R=<;NB &>)RW$^_=RO"#'$Q=+.U" 2#'H&QRW!EJ51>O'Y\ M2E(O*N7:J_6.CP\P\LZA&>?0C+<7FD&0_V&6K"[S.G=X7&+#/5AD:3"S/AHH#U9A.EX-S MJEWK'<\N$I@ZG DLF]<8<"5FI[\\H(AU%YAX.%U7:NO*B@18T%4$4*HT%^4T MJX43-[D]@@8ZC&V,XH!U0_ &EMC U&?<0&@?ML_1BOLK=I M\[VFLT.K RV#JZ@3VQAHS'@XB)9S[Y'>"I'8@M@88YE853WK:EU]HKX]=!:P M7S9XO\NQ "/9'%NRO$"ZXH\[587#^.VF0/ JH7R8=8 HU MR/?="O/#X]=$U M)AAC+]<>F6_451YKJ3TW]M9;A.,7-+^)9]X,!47,4X)+=_)=Y(M9G>9,*_Y; M2==_1.$;2;\,?: R.K[&W2'#*JEY, M,%IZ87#E19P:>8K!YF[F=>Q)[N3=4W-?(N^IO/_)2ZV>&>8Q:>RE%A.-P3DI MVSR5S7VGE2Z0/.ADPVT)]GFS0IDX7@PPYR/>=4"^]I9AZD4Y_O]$$?>#RH;; MJ=;)&CRA(2K^?Q0/"Q=1[C.HR&\A(M<9QDC85Z++2E 0?DHX0+;!D[^ E:3, MO6Z]M0;=7(2D4R"@L&DXK =].=H<2]P&>XZG^1OF2110MLOEAZ*Q#D:'Z#JV M^!U%P#IBW//R'Z!F;8(>]KTGSM'@H$VIZ9+;,4D#/0%.LS,/S['1Z)=NW*D E&3M&+6L?TG33N\ MXVU 5M,U !3K-HRUA0-!M >Z,$[W#3O;%^/\*U%RSW^%'P!M3&@]E ME@Q_A4D&7FR56<1_@HFX.KC++!G^!I,,!P6*F:70SPY22!!99MB2 3P"0QZ4 M9I@60$U[RN@VPV0 :CQ1A-0Y4YSB,7LFZ,^,R?"K7!(#UMQ0Y8<4N2$;'ZUM M0J-Z8:N5+;H[:/4*4!RZ_JFF;;V==*W#-VN=M2BRJ46C80 N3XX6CC]GKI\S MU\UG$PP9IZ)" *'R1PYZX6D--5(+Q%//&]J4SQ[C>%O%DE=ZSE'2NY)!K#W#I?7'[^P5V]Y70=!L^$< MDR@C]#;E*!OB<0YFEYE34/GY9P?K>4!#$T\H!J_?('6%5E7;16(]QF4*G%-8 M#,?R=V)1>OK(Z1+MG #1*E+ D+VRMTBP'K>:6,BM8MM0W(#B>\[ :,EH5,9& MR8WN\E90::-5M'DG!#S.LCSE;DB_[<2:X]9^Z+-9GU%Y[$!'M#.I)D<0((2J M%,S ?DM;BVO0@4DA&-NJR=Q/)E[=(+4.",L]4O!,PT"=4PFA8'%YP^:1D*)P M$V<+5+00O0M):B,FYH[NKC **P&*@V>2MT$2&,>9[L-__']02P,$% @ \$EH5R!XDJ+XKP 2C ( !4 !F=&-I M+3(P,C,P.3,P7VQA8BYX;6SLO7MSXSB2+_K_^12X?6_NRO+:J>_9TW)B@14CB%$5J0,,FB-/GS-Q^^>_\-PLD\#:-D^>=O/C^=G3]=WMY^\S__ M[7_\Z_]U=H:N;F[OT3U^1>?S/'K!5U$VC]-L2S!Z]_3I6_27B\<[=!;K^'IV="?*7! ?P M>W05Y!C]Z>/[CS^O]>Z MI9L=B9:K'+V;?XN@%QT[27 <[]!-E 3)/ IB]"0'G:#;9/X=.H]C] B],O2( M,TQ>LNA/V7R%U\%=.F?L_?D;39ZW9Q)_EY+E]Q_?O__A M>]6KL07\ZTPV.X-?G7WX>/;#A^_>LO ;1+]&DK&Q>PPBF[_MM7_]@;7^\../ M/W[/_JJ:9E%=0TKVP_=_^73WQ.0\HU\HI[.&O_FW_X$0GPZ2QO@1+Q#\]_/C M;2-W/WX/+;Y/\))^PO N>,8Q'9N16!&\J.\7$U+J!M/R(TS+AW^":?F_ZZCE MNPW^\S=9M-[$^)OOAS(ZHSL F^5VGZ1AEM,\B VSO$>RB>48&L%.%^V >,N* M96.+=;C"A6SU9WF&ZS^ZBX#F*HWSW M$.S@0,NNMOB>\CA[Q?$+_I0F^2J3;#")_OS-8'+?NQ?]G) @66+&TGD2WJ=) M4/QF1G_*@CD[0#_A]3,F#1(?2F6@H!F>?[=,7[X/<<1EI#\4HM%__%5>0VSL M"(9^Q)N4Y!7^6YMZ^!J/^ 4G6WHNK(,HH4OG 9-%2M9P+$^?XVC);J*&;]"O M[^%"+?(YG]SW/_[PGG$+O_GKPY;,5W1A3Q+ISR=?[G-LBU,[V6:Y4UG06L7 M#R+<)G254+*[V_4FB CP]I#&T7S7P']S>U/,9R37&*?_*IBF__CK4TXO*1CV M)YPN2;!91?,@/G^+JA/>WM85LU25"KOA? MT)&_U,EQ#!DOBXFJ\O@NS;(;DJXIK_2ZV]*C1UQ]]+SGNQ=.(WJBTE^9ODF."L>D9;'LS#M$WS%292(8AP!IQM":'?M$'T ME@Y^OCH!E>8*\__>)@\$T\,AO,(+3+D*K]\VL&;I*"0Q+W=S M1I?3G&K,["3_G$1Y]OCTN54O:N]C["[^G 1TW>=P2=)5':W587&;,!4 -@,_ MM9M.G:/)&)/A:170_0CW(SWL4G)''R?Q$\[IBV&]OS'Z]!C%SF!K5KT$+H-- M1!];][CEC.M+P(-X?=\U_X4##2VM/7R"Z\4",^LHUU+HO#Q2->T14XUC3MQ&.Z5JU.M8EUS#/GS-V#C2*UY^"QQ?[+#V?TVDG6)X4 M5(G&.7U?!=E*_"7L>,'W(N%!1'I0SS&,;U;?UP;2R1WA/V5(J\66K;:!75R]O(6Y@ MX1J,N!_:7CX-S1U9[F;@FYHN;I,P>HG";1##?#[BF%N65M%FEEXG.9W2JQ3L MZS5&NT,I>/@F,Q*$H$7BZ 7V6/8SCN'E#&K)^1ILZPT?I[N?!V%^2M/P-8IC M>?=>;0GW>D1ITU7>VL6<)4,:^IE9XGP^)_2G/O:,/OV\*_CJ;.FV6G;V,^Z, MXB8A,)NOUVG")K3-XU37W,<5"P,_XHW@JK0L.8M-EVIW1R^7F9K-*S@*Z>V: M49X80Z L/]#W0N-EUJ.K5R6(\7:QNXR#>MM$GQ[FEGT$#J ,]EC999KE0H>=+Y>$Q?'T//IZ]#+&8>FZY;K]='' E3_*'A*X1_A+$$'/XRO[2JE)V]C5V1"")Y=<:MM;9S8MF_,P> M=(0'Z[>LN;J67KQ][&F]S2&M"JZ&1D]?M9TY^Q!)05T!+1J3EVA>_]5;FQKC M1:E++(L0W""=%W__?EX>-PG$9[,(G)M@SDS;ZIB[2 E)7WG 'OU;RU/G("(C MC_F;T3&;-N7A='R8".;S[7K+K"[L;J[1F=O3H'KW]QZLWW!5L2>!,KU/"=UL M/(8>=+!>@?E'$?85X5GS@4".CJ=4KZ[C45FZWE6=W=S:6R[ICU,R2U^K3O:V MEN.QZMYU> 4ZN]F[<1OLS1V-/>EZ_>T"3:W]!(NR!,:'.$ARW171)4./CL;6 MA?;T%_D$7 65@ @W*;G90K"<3%9DQK^Z17,D)1_*^/8YP_^]I1-Z#4:D]M=/ M;5O_3'=%##:T-K9N?GZCY]7\"R;-KXAJ$W.Y =$:;MHTZ;(3US?TH4N&(?-. M!C$$+=PF8H.TZX^M?3P(<9\FG]LS__467@,SRD^+D)O5^D5HM'3UZS7K%X+? MTL&WF[6#\]&D"9S'S%(2MR]D4T4,F= MW;%'^O4UZ+9AJMOY,@ \*&&^K_?1U#4<3WAJ^V;MZ#2FIT-SS'QK%\_!<;5A M\BT-#2Y@%MO-WD[I)TH:7(F?HB1:;]=W$?T;5;%V=]$ZRJ^#^>H_M_3(J]2SJ]]*.^+?Z\N;TCD^$E2V.,;Y,0O_T'KBZ9YG:>'O/TR C(;DKV+:X8\]Q@$2R^ MWU@V:WW1F!S"Q_)+TSB[XF%_GZB:T_[R;&IM+CJ='I9TZ:0004R/E&K03WT; MSX;H#C2:O89^G&R5-Y'^:]&-IE]T;4MVWJ,PJ36VY3F2I.9!6^W(1TO6D0\3>)^6W.2 M=[?W'EA0!\QW@>E:+[!L<';]1M6QE-"]3O4/YO8T# 5X_(A>]]A.G.XS%UZGQZ3!8[?:,^P.). ?%K8\TJGNJMO@J!I'S]SSC4T^T)QA8 M]K=9BUVH3\^1A(1V!IEU=/*/YWH(CJN_QS,[P7_""=@:1$A^6Y!BI:6K#8^7 M51#N1M2?->MSFJ3@+<"X4NJGA<25> MX=S>=806=_7R;)MN=0G7-/3"+CAY<2C?O%I"QQ6FKX>H&:NCLZ,7G]-FPW'# M@AC@DV[B]%7#P3?J4-YJVWL,PY(#X!H"^EM;&]."U'0)5W]7*D$(NHD=H9WO^[/^='\T-4_-DW_C:L_RF[U;+K-TSF M4=8,V]S9S\>25:N)Z071_83NV=GCYF15K80I%5"'!.)!&>K@ MD,2>@62]/SBZ@IF:6GN!"H!P,5F:K,F-66UE[![B%276S6DN3:W,)N-04VM?#JK&;Y7=WF?_OW\!(0 TJWFK.L(M&]L[RWG%AQF:4)9:'WC MU+?UZ&S0[L56#;JYO;G]GZ_IC;TD0;V65-_&QS&9+O+7@- ']@N.TTVCXMS= MWDM.VM^V,KL[E=5D :L<*C/4H:S"[A+(0XO=I\SV&E%H!'/#HXZRS%8&0ZC+(T^9PSO>'G-(;P*0#+:GG-=78R#LO]0*],+%,: MLU7MO=K0U".P_$U*,%6Y^>4RY\GZ'$SV)WINPPIN^/P'$/">7-^QC1L:NPKO MYO+PT3'1;#S_.41S0'4G?6-K-U>YQ M;.]C#K[@>5,\ UIPS6O;F=-7=DG0HJD4?_486*/=0*7C%4*D>2",/*E4X&GP M=L413I\[2H*8'<./70F8$/E2._7VONMPLG3W\V-83L* A!7FA+M0PFLU6YG[ M=#;ZU,_E8CE?$MQA?FYM[RU*H%=JN]?2=W6>S9;R /W[>=3)Z-URF]#UNF2' M!YMC^:=69,[^_7TLJ#7H*W\7\;95_IH66'LGDQB2'(*7:K,*@7GZG*4QSN:X M(3JEN],H$H_H<[1K&[?V\9I&J&7S==U9'9U\0=1KE8OHON252?91YQMOK?X4 MS&V&>'Y!5=PXV&470=)F)JYM:$X'YLX05ONO 9VQN9W?]U#;-]UKYL,VVJ/T M\N4*,K5O$^F@HHWXL0M<\^ (F8789%$U/(HYH"V]K/8L(-%BD;'H Q4\7[?. M>O3R%2P+\>Y!MBK5E6P+F:UM[\\KTCMUK;G].%([BEHT,F\M4-J*K,=(SW"] M^ M5/MU;O,2W^LFRN9!##C(UTE8D^;2VM07SOD% M7,'@V:+;I>Z4Z&CLTU%?."2ZG/1:RW%8=21N X\ %R4\IH2]VD!592FA5-WK M+@=BB+BE<(!:KVIS.T?6Z>LW9M&/BNSL1LMT3=,QQ-")Z^T")WC1&-K:U*N)O"L#J;.GKW?)Z]3=IT"@; M3OO^TM*?O#SFZ(L#\)28AA5E7^@W@U\$2]P4-M;:Q=REP55@"$V;+AI"6EL: M>L(=G4.20+U>U/YA&**6XOVM'4Q&.T>)#]ODR]Q&XCU M?B.G&72_W%>8TO[@*<"M.\RIVLH'>AA$ CX$NVZDWKJ6'AB^B9(HQW?1"][S M231G-'1T\JF,P9PV5G:OMO(7-"LA8\""_VN4KV2V;,_8V>[NOBQ='15IN&95 MQ0;I\'\8(&S0Z)VM&ES9^W_W9CF>+J[?YLQR"Q;=*8MB@_]IIJ0"34"8F$L7[X\2$ J)EHWAZ/WZ>'5R J M%?'-BP'6:YA%C _H:]+2RN>=Y8?TPZ,R.=;85G&],#G2T MI&5+:3]O2T,G@S@+HH3P=/% Z,_I-HMW?'*I,A4D\RB(5:)MUF/?#B/H8X46 M3G\>7MU>1Z&Q^6C2Z2*FOLN2D5TJS"$D?(HH5GY79%ES^S%5+>@0HKN?%_LX M57/GW/E.>=(CK!IMX\T]/ 4':27 NE928W-S%KF7((KA8E8%$\X7.3PH.$P_ M7<3JQ*2_X\6O:@UVQ]#Q#+@A_2:EL.C&+]'5SU/03L13N.C:5D46(-N\=_[( M831\J2["?M(%KUC?UAO3!P:(='3RI3F7ZAG=ISGNCP_0O[_GRZ3'[6'PS%5% M!/M&"7;T,*>)I\_TSG]8X7B3?4H)B5JR=QK;>DF;K2W+V.26:6AM;!HUH'Q9 M=14VPL\XKKXG.YL;XTG=RSW>3XUM1W$$=99C,UB#S0H4J\I(TM\WH"U!G-A- M]-*D@QQ'RXO0E#.P^?3*Q6YJ[>5*8($;.)SA^2I)XW2Y8^B2[?!E7;U\9..( M].5IPFT%I=><>LHUR-.SLX^%%260Z<2*QMP$<[;P/P5O ,UU0:^@])4?H?0O MC8 ^!Y'P"S,NS*F]@#_VFOO$O&FKH%+$E;1[\7I3\?+N@K 42$N#-Y.PBF=/ MZ=[UWJ.#CR56J1?1<:$V-A_;=?HIR*%4QJ[GK7,X)4=@A$WX^(T0W1T=_&7R M:?!W_=+XZCJ,*/6\S5W6WF<,48#\TH.?^@8!:CW\>D5*94-YJB<.IPF+V>;5 MM[I=)3UHC"8Y0RLU>K$KF@@EGWG'[[I22H<3/O6\)%%2A;44D)3")5-&INQ( MN7#+B[$7_^>$+O97J!V5+,'DQFKI@(EWO8ZRK,G4U*.70<;F?M3=-'Z!YT+Y,=&>)-#6Q_]-)R%%",9O429\_J6HL7ZW7P\Z(U!\ MZ=$7S7MJO;SMN)P\A[MT_(6?JGB+[A)PM:W'Y#KO[P YB(27,ZPHZJ I0MG% MKE34I+,"5A\"WH-3X!7>*P2%-?2B"XJ205WLUC0T=BG?!_2L"$EP2562[9?M M)HCCJ-D+U-+:4[:.+"U]E6Z?\\4VW@>( 27N!9/F _1@,GX2%7-";UP6?0@K M@,<.8_)2A\W=MY7AM,]Q"?3N7J[FA%F;QM]$>AX,.P9%IQ/TULP.) MC,+S#<$S!WN_2YV,:0F_IN1+$:]0IQE46I@S&I3+_8&UI62[UTHGT)5[CU]Y M)=-:@\*1I$;P=+V"\N"-Z0E-K1T=B,(8H/NZ>7S6V].?; 9MSN\=]OYT5/ M(!&A&TZW>U'H,C@G*S'RU#LB7UN(7W'CYM7;R8_LJ63UODZLMGJ7,WJ\92)J5\0,(C$(\A=#' M'T":(Z2W@"TDQF,AZUTJ=;_/>':3!@IYV([2.WI9=@*PN%]-K<;F7A-X2Z88 M9H9AB^: M-QN"N/"S/@4_"TE#'2T,9KE6"JCRRH^H [F$82\A%X6+NTD/#@J MNW=W[UX"]?H3-CSEBIHN5 K;0RH0&-]RP-Q@:6\]?0L#R)L#65)'B*H623\* M^!-4F$/E)&E-%QA";CP;E^%9'P^(M]_=$1C2R..Q)LU60?YKNHW#V_6&;D:%BB_P M\ \S-G41&\4+5OHX!/Q<[V=KM9\/PUHIJ*S=F%;7U)6_C+Y;9'B/*D+:[ UN M:>WU =<:\-V9&7TH&4_ DIV*O7_UO363XW,2BB!6'%Z_S0% O:UHWG&TO"[# MVR2DAVOC<[F?*:$7$0_'0X-3O=+"V,.H5"6%H4C!_75,B976S@8A[< /54#L MU[&UU\:9NC]/R2;E[AKVRKWD,+FM#Y3V7I[@O2% H S&V,_PV*^O'WLPWSZ5 M@O=92^A8>Y]1J6Z=L2V]NAK;I?OI>2SL1)E[;A.6X-I9O'P@,9^&^MYP1&T] M?(2 "U2%62K>T-C>V$(N=K8Z0*>O"5V% MJV@CRUW5K>->_4:AJ4@(01$!U#_XH]+/YYVNBER*!(+F"(_&#F.\B+IV\0$$ M? #_B%K9#Q"(A\4.]:+H\]4U7<"3\"9.7SL!8-NZ M.-)WI-[2J-]4&OARZ7:6FN81%6UNW;XDQ@JN!"H;U%"816O:!"*4\RA;\.@S MNI1(#FDQK>EA1@?Q$@4=Q"5X,$WX7K;82V M'S2>[7K+G+=]RL4TB'\H%7-XJ?ST5FCJ B]CWWG:;3TYEI2/FQP,!?3)T%PV M4V\QBC#^G8K(;SEC.KMYRB@39>T? C(E;-ORD)Z.4@Q]>GH)66&I-*U)+.4V M8WI(7^QF=-B6-=2GI['CYX%$:U; Z2'>-D0%-+?SA2CUW W\]%P%?A)AIK\ M?ASH/^JB3^%7&DKQKQ@2YV@;B/9;%NJ"3&+9!C%$_S75&AT1@^8R:S!)7O'J M.EG2\4+N0$[9%1DDN_9TFWX]O3Z5.['$LB8PL7YFW:'TS3F @]U+Z]"EV(*/@P+]87\N@ M_HI]Q#P\71;RXS8-+#?E=?PK1G)Y^X45?X.0<%N#7TLZFU MI^":HPNBUE>UI?^.MR&+N"]*K_)(XY8H'8=,^(EB8*A$TA(>Q%VFKK8>/FPA M.*%J<0S\\M>_[.7+(8\!T1KGIC3>J/5-O68@Z=EO78]IEJ[ M^% L5*DC[4YM4B1JVYKS#,]<: Y5:>GC08B*$T"6#. A')HJVH8"?QB-$\^#EL&% ML^#-65V,_3&]F(&859CRT!@>5&HR'@U,!)H,U\#:"/D,E6OU'Y4;^;D+(9SD M(DVVF0)]YF )[86J>W1TAJU\$V405,\,63?T=]4MT-YV; F_6AW41O6Y9_?Q M7+Q'EV4YGIXW[PRHV& 8:8BN;O72=/4=C\_L *3J0RB,>#="0>+9:SIP4THJ M/N^DKD=N34,_OJTYQB';#SQ3AUDX#GV/'4S&V(/X]EUP(5T=',? ]U]KPRG M9TRJ3P'970;Y:G>!5PFNSZ!M:6C.Y\7PJ$0NX],FW@NY;FKEY\U102J )UW7 M:Z.YBT<1^(.'/C)#7+#6I0[U[.PWBKRC>D"UG8] ,_R5O\4G<_W@QZNH.Z*6J*,!_2TZLW M6)KL&D)UH8+!+;T#7Z*0/C&Y8D+G?"]\%S8PX) 2EF7'PKX%3.#%;A;E I5* MD*%M>6A__?#]HHQ'R_AH8(W.\\N D!V5NFTG]>OK-[=;U 46$8<-\>4Q8T/@ M=4D#-C=N<:SBWB$.IL?SD3E9U*!NUR9J&OJSV0L%MIWC^K:.<-"TVW[/;51C M:>W1Z<3=3(=:(-R,[3/P!ZH=9/0H 72&3A2-S\E7M!Q-8H:$457 Z0=E:.SW]G+FEY%UM4(WK=$UW?W& M@QFO,J8>GYD_4;AM6 M;=.19/2U60.:V_O*U-][)O(L=[; P?Y#MSAHJUE[\-T1E+Q9%S0M"+'TX^];^UJ73KZ^7D+=7P0X@ M49$TH3_..1H 9ZH?"/?!9+P?O/S%S[.F>AV_I0XC8;\1+*!G)Q^[",]721JG MRYTR"[3>@Y^(X[[[_@X!Y/QA7O94(O00 G2%CKN UL:/M>11!P9_Z_7F"S! M"D32UWPE0)T:K?[UK0VBYQ2A?-(9.5W0_S)DK&POMK9G)^M3>4YOI) 9IN*@ MSF52_OO(MF&!',&!T@&TJNU*/HZ6N1H"RJ59CL45OI623^60RK '4_-A2WB8 MMNI[Q=_-X8VIF !-$ZB;R?J&/E2%((NRZ4)[4AWP%NO9V8-8]1D#JGH Q.5@ M%I?3(%G__N9NSGQ-#^55HA-JJAW#1%N?7IX MF,!? L)\V@ V]P)4 M*=<11*KJ8'\L6XT]#?90?+MNA(%$1Y>P*?X9=5AS#R3B,6)?X,+U2S>H-/81 MTRA?'=(RT!32N-=N'$8XKE7*VXA__BF!_\+$/2&DC4'#YV2N"U MVIY@L]_(UV-^E<8AU=SY5(D*>(V\']+3D6YV'H8$OCK_#VBR'QN5M+JVWIU( M;;%J=2T=S>O3.HACN:<:9[3UHX!-3=(:(5FNZ8YO:.4.3W3$D'HH6."O13 M6!:[3HJ]9GY0C4=_6QX8T MDIS59$"T-@L;T_O4\KRB*N[WQ+DDP4[+Y)B?[;=MWP M,%)^44C8\5#$/&>]$57:^_H0JD^5GB+$A%G]DCFN"_\Q0M+8:4!G.,)\AD$M MT$#Q]NN#]^C@+56E (<3BF"+=M36PUS$3Y %R?DZ2C;IM@4>OZZ9C\ "JB)( M*)2;8,[@ 6^"B# KX'3!,VV;,^R/)C-R8,4;>A\W1ED<2,:/I>UH0F=OZ^#-7=:3-Z6U&DW*V7WMUK]"FGF-RF_ 7:Y-B8W2,T02# M-3[\QP,VRR;P@41[&)DU#1Q9G<6*GQ)A%VDP.M M@;-:5LB!5;_Z4_+RW%T*)(XTD3=0<3])P(@>'_,(0N.I'L%O*P/5(]H(^7@$ M:P<86XB\M$7K([>MRYC2.3O-2GUZC@9P<"] LUI>M2US?1!)8^_G?T^?Z>69 M%SD-US%F.![M*1&']?5CKJC4M)409/L&EWY]C$WY?Q H6A$D]V ];S99U#7S M'L90@M3N$9#3W=4OTG$7IF&O+F..7RY!OW:I/T.I&MLBOZ;DRR(E]"'%;^3= M75O^2TMKK]JH-+/?ISG.[M(@ 8.[NIS[8X8/H6C.GP6&J:P15:*^C;G1N<%O MEG+@(XCQ/?\I92I.,L>DJDWTZ^/E6@KQHOEI<4%?5G]+"<-Z:UKR@TAY.6TU M('# _^[4 =MZC,?ST2I">Y]QA$@ J&,E)Z?C0C^0B#-P2%@?-<:OTI]'_6X= M_%YU-]?_N0U(CDF\X[AF+=->;>G(9$M'VY+Y"O+TEP2S[7<)ER8F&TB.;$3Z M/:SO6%,KNW2) XFI=J_5!TT)CI8)C]&:ZQ4UZ8G._A7S0TR%/=%-,EW,@K>V,%[S@_FX M'S'D?VU6T7SO ='JBNONYQE!HR7&:J^9P8@UJ0J%PO@%-V%]J%IM2__WH/!? M=9:S[NQF'#!)X3C7!__5-?,2K:8"TQL#T8H6!E>>'H$+T?/)]=NK0)LT:DSX/)C.J;TQU[<4VOHL634NW5U=OZM4>N&:KCM#> M9Q0X#TT'R'Y#+S;4\HZF>J(J4=B16-6KJY_7:Z$I-S]0M38>S;X:1!S4=.1 MA@\$9Y#/U0>]Z0A"?A1 !?&R IAJ0LR^[_-)U';WH>JO%CHIM$B1TFE M8!6_$HX$#AK6^.890M%. M0M\6 ,EDN"EPI/AYTI7:NILYLON'0P,=RN-R1]X=7) M6LTI;3W,G?+:37J3DCLZ9_$3SO.8)[>L:T$\NSN='K)1UYHR1M[+H[@_[(4I MF(N^(+&MR1,MK7W91 N/UT%FT;9N8P#6:W2<-!F!^A/P(!X$,\*Q#T7;YSFK M M :VM#_CS]SG@H=_!V-_\&S>3AYB@=(%@:O[U^X*UTQ0OYI+Q MX29(#8C8B!.DQIR@/$7/& &*U@0!]@Z:)MC>!&@AN9#Q1#6.H/B-%I8FU(XC MY;Y,8_I3"C*_8*2-B8(D+/V;Z3TH7P4)*G?ZC5]?___)3H6^PH?/A_EI*.5U M@+01-\A!AL&1GUV20P4]Q F.FWW]4[F4X2!WX9'?1-">($4=:>1107^".-K9 MB8E9ODC8 "C@Z,HXA,.5*+DWFMQI4=5@@@(F.-P^1%# PCB''7F9X<# MPHJXSR(X37\=46V,&1!N$Y&V*BKJ#)DK.6(&8F_$H.PXPG)8%(EQZ0\(,S<5 M"D3>+-IP%EB/@,=Y9B<].7%Y7M!T@>1PB(Z'U(!(CDA_0&),) 8]Z1D(Q='' M 9^*F>BW0,3*D OC.WOGB-33I@OU5E1 HT.V!*.&(D$.S8'>:4@AUZX@"5^, M"R.IHLL3$.9'+DP")GDA:RRR<;!I*7B1(KT$EZ+YLC/H9-! MOP$A"S-NE'%]MG5:EMA6KK_+E+[*DPR'*CY'B53!;COZG2@&0&H$5 R!?F.# MV-T:KB2NZ*D,L9;?K/0?Z3:+=^SFH5.Q4%.A3+D63VXM1XVYIQC !\0CL&*=!-FQJ#+P V$CHG1SS6WA@BF&1&(\] M1?F<\"%='.0.9B(>- DG*WWMXT]*"U*F3$JY] /+TA;HH>P!^CF)\NSQZ?-P M5T!!6#S1&6GTCA+_]D3$B3LEH:K%;YRV!8V=6<0^)P&]VW/FS<4D6BM]_39A M-MX:\-2!YC U(MV&;$A-48^*02W8O5P)++YK(:@82GN<:8,I X;5YYDKV?4M MVG,"+ G;'C].Q" M5T$,HM87?2 .N]U9+ 3X"[BU1UWR$Y1@NR]'T^+U5V*YKE;$@W MB?J9@ M)X8)2Q/1KL,>, ?^(X%8.2Q*R&4$$(QWNI+KQ]G']Q__R?8[.TV6D#=VA9\' MFF^2Y1G]Q1H]IX2DKQ"8C^CYR]\=D/)%0 '0 @=&+%C9_@&2 24$I$;,=8TE M2GT4H&?]1!0!)-*B".&NOT;YZG*;Y>D:$X66P>&Y6?[U$!EEO(HRP\* Z)6. MB.20$Z0&17)4;I,]_:F(!\_"28NO'S[L8\KHHY.6Z@63Y[0:D64K,DC#4)DN M9,#]S$#LBT88G"#/@K2MQ[TY.<2>TOF?+I D*3RJMM[IYL0H162ZED7NENO% M JKP2!Q/NAD '!) .Q) 0N @/<$;3[//"MRQ0<$4B@K*@S )E M:L@K1D6=YBD2]% QE HD@>'DWT/KSQ>;PL?'RWV: NLGF9;.FC%#+<@X!QF# MTY2QUC3M4\H][/2+':2>#XAX+5%$0!(!16O!KQ8D*6?3U8IC43.NOQ#I%?+O M:93DO]!_Z)48CU6(FZY$=H^PD9 0.7(*-5&"$G;A9@$=A; MDXV?7>RT?PUY;@W(U+<1QH[*3JS*(=K_#8)HYQ;-/AZ0Z-O]0D)PHJP#B5!$G>QK"E&P"80$?Q5FXH041Y=/% MGVCU3@>EMQE*FE%NA)A%HL6%6BJM.L(DN^%98BGQ"Q-7Y'A2$"JG5 M1]R'AASVOBA(@TRYP/2VM=HL2%6;:O1UR%2ZJC3*9;5I(M:D33.#VD97\#K M2:B@FUGUY" :I$9IY4 LGW8V)5)VH>)8@'@&09U%;? O->&NL0>K6"Z%!9AQ M)HB#(9R/MH> MZ%,QH(J,.U69X^/$M9W>:%WNZKT^,OF?TFV^N@N^X&F"[^+Y\/7,""*@"/BJ MZ.[N\B1$B$^:^^HSVJ44ZHJ#DUF<_G>ROL*Q=QH[Y=6Y_QO00XR@K<_PB/.( MX'-1I\2"0L\'0&J$!L7>5N"S>?EBJ?OVDNMDQ"KK]4RV0,GF])%<,B)RR]YT M<+"/$J<5^K YUP(">H_$<_ \=';X*-4 Y=C=FVAB_ M8S=E;C$3Q;1\XJ/=582ZMB0&5*3@,2CG84C;9 PZ=DH>2/I"M\&Q]D9.$@F: M$XZ/"\ $DN[X)='/" _B=%068Z7J56&Q8?G."F^]\A:;H!<8Y<1D*SE>./&J MSX4- '%?K[R!Q:O+BH@E&Z'(3;.%K\3+!0?1:AM0?J\33)8[(X8U3I-]!$[5 MMG70B!!B=3EG_A&'6_8@NDU^3X213.?(LZVP@]$>)+(I3FR8'DR)HRN.)BA#7<5\"2"^CH%=:&)(G[A9E]#)4;CGM M,93I**>CEZ/\Q-,ET0.GDS2G(JG@-'N>Q2!*@B5FS^6LJ',!X,A:[L5 _R(? M \J^B4%*ACRKV216Q8RK$A;TB[)^4:)EFIR:A/O^_=[?TF;)OF[LE6&[L@*] MDFG8*](C8+M @@49XUKAFG%E3DJX,CZ2KT(/-@2KVM6M SJVE]2]%L5L9]$: M"B0MGNAOLP5W"@^)A#V@M+!D 7$>6 R5QH5]+#\_$U7G'.N:K+VYFKJ>JP:X MDT$U,)O!39P6P#0J6LFMP>5;<_DB%WAF3YB5+J-'UJ> ?,$0T").,0/ALIPV M.X_7DKJ#:$W3,L7[XBC"ZCJU+Q9 WD",$^'EZ@UE'Y1QO5$Q@ -L5 ,2E1$V M2@+8YU^$9!89-X-*D$R01FG$3&^8Q^PZD5EOUSS9Z%E$)KVC[P'^-+=8BLJ0 M$$]Y0'(AQ@5>1DGB3!*>H4%2<#] H (F+]%\V $EJ+$#2M"SGF)B1H!J(HDF M2,;IVHH=5TZD*?H7LI[(9;"A?SLB4$L/@7\)HIAYH%29$C07=-$V">G3 MF3Y@!5XVDKR(UL6+<^,/C6NY4&7^OGT\K;!:>S@S6%-NG)"CAI$6EM+WO0[ MJ[$ Y1K@#6][%AV@\L^GA-X-_(N *7P8:$11\=L#;KM#X?>JNE5+R#=:=U0 MA>(!0CU+7'Q-,U0I &ARFMP47Z\Y)(!_$T%"=<=#2[#-"4H;'R'H:4FX7XY^ M7A)S294Q] X"P"P:$!HV\M"G4HN%VF$%%M/"-=1=<5A^8R^9X)+^."6S]/58 ME,YJ"@$0A/,22(Z:_[8\"+M"=.2> -*[!0Y,@MWY&,CE?#VBYW\-H=3(1;V/_(4-$?L M$EWP!1<\$D/93V[@W!_\-" 10MQ(BY"&HPP7Y9D2_+X(SUH46 MJG-OM0@0VS<_OPDD30W8G-,;)]=BNC5N+?N2!_*KK^V":4N\7D5KL%:D MB<$$7$4389["NF94K96+-B&"5*X5ZVZR;XWP7E*JJP+\+RJBRQB&4"=YP+?#TK0M?73BZ).>=B@D_0QGD!M>$N M00I,-N!\N _6PRHE%Z00T++V.C7%>-ED4^'>:MH)ZL$72IHI\ MIR*A6&EM0=G6U3FS$O4IF,@>L95:B9!F52!)B+J4LD)S5I/,KQ&S&"#6Z! > M6$C[H=;]:QE"RZ0P<5F.6M>]I1K.-L2I9C-VRS5!(N-18+&?DIQZPF,?28ND MR),25@\9]K+A]()!@XJ)5ZL%6:\C/ISSDA9?8M^: L4J4;-HG?03Y1C0BCY% M2;3>KN\B^K>0WFIWT3K*KX/YZC^W= L<;=K7QH)$G+48#:WYS3[\VV>*26,R"JL0"VNC328I5#+U\60JUP.A[3Q)J@8$96&+#VF+&<" M.9B(>. PY9;LYAOD(HCI3RG,"EAI"II, M2]7_S:.\\U60H'(GV]6KC(A;MN@.E=FBL**N.8^-Y6&R0\J,2WHJ IB1M%]= MW)@<913GLC"VA"B2I"[I*B!!?)N$^.T_\-%P<3P[2A!#C!JBY$;,>4UREP/V M]4!=GG$^)?LYA!A#;1-5 WV_L6PV*(A'406O5EV&(6!9R"(KJG1Z;3?9WG[4 MSRQ-X^R*EYSZE,:A@=KI0-(-7)XAYN."[VR"KF2A+$;1>J%IJN?2O0=W!9W# M8!!F/:>%YHK82'F.2^Q>CIW=:AGOZBQ;?*7H^:J#UG8Y0]4)^DHEMD:/P.&Q M/Q#ZPXXWXXEJ->%'S=%'ISX)X@L?%G+E-$/Q-IF#'H:O,/_O;<+49.5JX\&" M \%&&&7T3H[Q+;CDN#9>N/1D)*3E)[4=>>,C1#T9&6O-EEPF!PCH6M"3*6#4 MO6@GD4'I!"C5L$AU#KA.Z1Q[X"P(K'M6>XCKRK4Z&,J=UXT\M@:P.=3[B:BB M^?5-51WN?4"OXCG3P?(4$35W&VWN4L43O:.PG+Q<35ZF<>8BS^6G- U?HS@> MJIKHJIFDZ50!,2A2D\JYE'(% FC$97J+P02=,;/M+1O' .N-%>^M"E!8]V;! MVVU(QXL6T9P=,??; <])8>"C1%&9*N)D3T"2&GNE0W'J,1JY[VD+U]!&^)VR M"TSO!X%=1QG$V?5;3H*44&4C(#N&+'6? OQF3L4"N]LMY$#@;&#D*GLD/K.Q MH5X6H/?E,/H_Q%043ZTJA&7!%BKXDO,DVC/6)JC,"I*\_$-,8"61Y8PN';F* M.#PBGTU 3PR2W>\R&17M$ _5[_QHUX'[G5:H0^=T#L(HWH*+\@G3*XG=0]=O M/*J93]-ZL^6FS^GB.B"@M&8R$\A4SK/.!BKX0)(1N?<4*PS#43!3Y S9]Y;4 M6#VDP4,D]YM((+JENV*>(RKF/,A68JNLP,<,M0NU# )N&F'."DV-^-,IRM]A MW5(B*V0(!TG,^])>;5D@%#-,:;9Y,RJMM-'S_,6B,.5)"]C^7>EP?'ES4Y_N MI7#S**D) )O]3I1*B W9)ZOP;A^GM$CLPC=N:+,#@LQ3C/QM \2/2;H*Y)7 M?/_ZV*_*T,H^ST>GQQMWYA2Q4L"!1?#A]29.=QB+95@#(Y&$W*R?&YU#LDT M;TN7(5["C?033I!H>:[E*20XUF:5E] ('!&[.-$@NMUF>KC&Y>@%O][%F0QC@+(>JSW((),9 M, CZ?X/UYE^0' N%+W:B,2Q+6XTY'8G4+,20[/[Z^>G(S_?Y_G9V?86>9N>S MZZ+SQEF>]XDG D!TF?IXFQ+_V$[LLZH M5'%5( $[\R@EHH2Y )& M,2BQ$?.]AP?@AO\B@.$1+Z&R89#D8&X8%H%1T+)DNS#%=DVXA77>-7R6.<8A M<_O*^B!3PE/"N%5I($H+H\X=&:H:"B ;BEPO/H;UL'/S8L:'27A*HI7B^(04 M@JTM5&O14+:4J342-%.O@0BU&^=1G];D=D/;NA MM] .,QS,RZW?8;TEMGR%F9,(:=03D$=!'V@!.8G\L"5E.U]8D#56I31;TP ._0/"H&-1B M8%=U>0[T650WFPN?BPD!FO;4E?4])5&T=1##(2@]%?!%R[Y?8^P[1V!\PGG. M-Z&!NH2*EMWR>$-YCO?8M0UR,9#AJC7<_CP759!YXJ>*"=>B?8Y'()94M8R! MP&LH.;4<"$#MH!@H;%Y3^84WUV[;-;29P=Y&V4-!P\ M&HYC-B[S.3X&RZ!*H"5:\PK4&=K8M3ME-J3L^@V3>93A<"" O&9'9&8VE'(; M%1;T[9:"-RQ:HQ'XY$6K-?QR55*01HJV1:TR6O+@\"07Z#:0PY_&5!4?'EFH M$4<%=23).PHPM"-B^96Y7C-PN07*-)�N2-&,Z^QG&99GDF,GBBO^/P@>!- M$$% + O=XA$N5^HE//03*VV$C:N*V$-30I^\0$+1M[QK.?'RB?%<6 MNCO^]R"_YBE5=AF&%ZBWNZ&ZI(3Q^HV3F#IB,%-2M0J%">*,&K6$@ M8?X^3\\:@H@-=*$#C0H8D> EBMB M#L)UC+!?BDFLR& _55DSU)A(=RM;9RQ?%.?Y^H% 1LXP^_OY[!,2=,;.<56# M<\*Y4I;31?X:$'Q%C^PXW9CQ5FHF!B0'."59Y!- LJX1= %P'OYMR[/&LUD* M%W0RCV)\C_,"96J60N (724O48C#B]WG#*Z- B&9 T5"]8)A$3,:*X MJI@! M+R(J8YC1/[.0&LD4%*!X!WRA*/E61X]6O#D)MAG#9)9"/\HS2M2,)G1& ;\, M?LM"=+9\[G1,)L6)Q7 =9@34@%',(,@#T1+54^2\9NUP*(8]O":Q]DQ(<+1/^?IWO9B1(LIBM MCI_H"PUN\F,1#,0 $R2&0'(,I V"8!2A[9RBL.7B=8J<3:_CNXK>01;U("*AC'.QJ65RGAQ151@:(T?CGJZO Y$T:58N?U&XMB M'.?;?)42>&L>&]#,<_/*]3<*JB MS,?"Y93B_3AA%CB@/\8%;0=Q@ 8EB_L)=2+2E.W^FDAA0=J2@G/YO"DF M952TS,N+!Z31M*TJFY! GF*GQWGIT'++_ODN").BE)Q!RI2HB%I750R*4E)>W,M3!NX L#Y[C* -[*(KDD"B58R)(\2$OV);N9ESBX@[C=,%?BA1EI),^ M%9$J+UPA%[P1^&?*,3MBLCA]/5O3/]/7DOJ25B/!P8R2/:I*;?;\M5:9!Z;9'.G:%K\ELI^ 2M3&X+)*@9!?!3$AYD@-I"M\S6>7P1D'@>[ M[")(#*3'26H(R*&'NTOKT6LJR1 MH6Y942=GKM,<,?MB_3ABNR:>9/#%H@>1 (!]D8?^_[S_[OW[]Q_ 8,R#2R;H MCW]X/Z&_@__MQYO\"_KP\?>3'__P^\GO__"!G6L?WO]A\OZ'CY,__/&/LGE$ MW^_BU$NW>0;F7%Z%F-W;>).S%8M^>#]!']]__$'$3,S%;S^PWWX<[\R6G]_E M !TVL1,Q ^,5H0K?7(Z:^H4+<)!/ &M>VXOA$TKIC!=S (2+189 Z=5E:L':DYZ MM09ZE8HAT+PTQLD()S[XUR54&>74BV2E,I=0S#K(5GPO'1H56ON&9ZA(TEQ= MH'^-68Z::Y0CN0FJ*OM5$+9?P,"83'$?<:RC7.S741_R;43]20%X8:^ JGDA MRK#PI\9^7.:\A#1M'6A$ABQ2Y? Y2MC1*/!LZ+/S-J1CTR,S4/XJ%ME(F/E. MXY/^C=Z7(63&T3\ 5@?5I@:$(JGX3HVK"2KX0CIC4O.0K+&S46,.">XF/+<> M_JIQ^(\RLV5H"1NIAI I)9;K393-@_B_<$#H(_:*7F+'OEA$9A2GAX @/(L1 MD!RW *7I=BJ%,KB#4>@"[. FD//PN/T*NU^8!3/GIEI703_H7,($5PR7\)$ MW8.N,HK,B!CKTEWTEF[L8I4\7/#D%U]NKM$9YP7>?S7;PRY@6=G,=_%,"R"ZS=4$!0!!N/FOP:# MP(T0C26.A$YU@1.\&%9JT5&)(TN2Q!4A-%N\#(U\)TA;O+E,?QY-]>DEF?6' MPU#!:@VT[TJAC]^B9TZ4ZTIN5J-9N6;:MKI5_"L3]+MGZPO1POD@%QG[+-^> MR'>IV4@GO7_*IYV?0\Z0#.4GJI]MTHI%,CS\L F1Q EJE=-%P,+V4K__IP2 M _,JL5;8UASK54/C"8I0%QQ2X=]BC @'?,)AO3]L6/!1I\?2NJ?2CGCE)Q6/ M2N(Y%&Z]?G:DV_/+(A\>S:LH"Y9+@I=$D."FG4 ^Z&,QR?(<[4R@AO>6=8VV?WUE_LCY_B7V^L9 MNC__-";6RN?D+Q'.$R?ECL!):ZC(T4V$8QZ.Y\JB-)!YL1Q<QB6I+0C3EF26)ZD0/2,4:T#<[H_'8FJ%J0>HKDS,-D0 M53<]]1+6H65**Z0*Y6\&N_C8(1A9C"T9R' U3IX'A>UAO#+_0LZ+P4+5.69, M6&R3T*(713RG *J/ 2L$\_S7*%]=;NGC>(V)J1+*+%Y!#H!>Z0A(#D%?<@[K M*AL7M*:\LN54,[ 7$+RB;WF5WPM1IW030][C&W>#T=\S5%V)KFL"VI,GILWU MX5EE1(M%#]T+'.NRED8NQ_BR4Y.G@KY91>,2V"?9R@30M#A]K((L#^$UUMBT MC 4]A,T]%!RK[):3^J>+Z['3/HI*QT'_]/RN!XQ78T1E 0.5[E7QC* M^.+LP!; @B%$(+>?_YRAE->?8\$0[ ?L(D-N!),45^='\L*Q#^B\<%\@6S;: M.)"-*%D033C:6.F7Y1YPET7)%A2)J8/4B=:@BX)1UNS\-2#A3^2([(I*B@Z/ MP:B@RK&8#):JN=W0W[W0L6$2F,ZDYHNW#("1DY\4:9CM$8"CK1C>G(TZ06S< M4Y^'YO"<>H4:5@8.FU;%Q&YBQB74KO[PXP/=QW@=S3G6\=&Z9O7: >)G'WY$ MDKS"5+:J45L03%[[7XU Y2"#BE06=Z H>TVOO_4F3G<8/V'R$LUQO;>Q*!T$ MSCJ91LYW+3C(LR&NN[Z>9)Y;+Q#Y8/R)**EDS\77Z\"JG[*;E"QPE ]+$1-$ MH%PJO:^VB3BB7*"E.I(V+IW/$M),WD^=2T.-:Q^U)2TG@QIPP/.G(Y;YZE;- MOF:E*+U]=:H.46@,?Y8262E07([LQ'S'.3 MLNGB@="?TVT6[_AFOXF2()E'00QEAWEE*[/*CQH;31>H&%UJQFI\5#!@*U#8 MZ304AM5#Q7=3:L/]C%0LL&):Z,6Z*:9%!O"K:OT_&+45>02$#MBE1Y"5SL /J!(=]IF$C2>G>U'6HYOL-9 MANF]7V!#L+$F15G&"=0@><;,9S4I(?A\"JA2R HW.BCOH!@4M\_0,79)E4@4;X-*0I9:\79*$:YB;&2C!]# 86M>%)1.R?EE55 M@^+&@R2U6^ &__<6LC^A+/A ME8.#6.)@E,J##SEHM5Q75>N'JVKTE1EO0X:(@K H"<$+^MK4ITW+JO9M0;? M'UD"PMD550WC--N2H3JI-@:WMNJCH&(8-PH; MV"E$=%N:S <%\'*;AXIC4^1&SOV^N3"P5&'1+-M[UK3]F7=C0K,"\RR^A#.P M9[.2E'>$%]QG9B-8I3&]"#..NG>?YK@X7H8:O034H)N 06O"U%1SLEQ;6E>\ MS3U5'+X_##PXQLEHX[/66K(FUYU#KI=2U=A 4;52-K2BC.8.:\.9%:BJ]G\- M,L5[WT<6P;MT(,MC^HQ)_K#"\2;[E!(2908@I!A-Q(DB3M5VJJHI.>+3%Z'J MCW,KBLJG5^L9K.FWB5C4PW-FM(WR("!\!6VGJ3*&Y--O\3;)+-_IAJ39/\LJ M@HQ>@H8K$_*"SJ)$7C.C%Z.:5=>VM&PGT['#;5K4*!4#,]7Z9QP/"MC2R"H5 M@$>1TN/.0I"2:5GBKT.,RI7C11QE;388M:!HCISGN,*NP_!<4R)4EI!C49IM M"P,-O)S(!)WG7)5G3HH\I:7L-2?3'IJ1H/H[ED%D8Y=(&7CL1GV0R$X/ M$0&G#T1LW$0O@SPLLQ4FF+F03EPH>30<&/S"O6AV0'80Q\3J:UJ'1# FAOA7[,D!/A-K;C0PL[&4,&!FPX.>K)(W3Y>XQ M6JYR R8!11H5M!T\0@U+%+<(P^DZD.FG($H@T7F:\/B_4I22"B,:6-T !OF6 MY9!SA(!,A 5NQ&#,68GE8".0 'H599M4%$9)(8!7R,LCM=2( MUA_D=@27!XSW[WH7)52H2X*IBG<3S-D%]"EXB];;]45*2/K*'R7T+_ENT!-> M8!1BEJ(J/.VG*9;2\1/VQ?@@2(XR06(T1RWRU84!K@APJ MZ+D B3,D1"D%?U\2ZP@JCQBJ:?'TL45*UF#-F3['$8?H+-"3AR'&0!*S& =I M Z%B)#?(TY:%KD&/08&$B 5-F:A9V&BSD*JALPG\08RNP0\S!^)<$*'J-E'I MG38CF0!3^:9D_IX8:>,@# I4!6M@ZO8TX _>J7[#.Z[.:3E!&0 MMG['FY,J[B70*4A2>H.GW*/K"+[[.B"PGS.91G.LE:2\1R V!7WX\!U#)6(* MM8-L&E.BR'M9D"N2FIP8KDQ)H:\IEU^AU;XC,XJLF#UNMBR'O;BIN1U$VI2T MR]JF,FQ?_".-6T4VEP/K2D;ROW*SZR>NN),/H?:*X_ W._QDL,R/, 2(&CG"6>8BH=R"F,TE@ !DC M**%TG M.=4R88G+A><84'JG":N<',R'!I6J+!:IW]J"NW(BF5B?E4SXTCA(#@1F5FTH MBQ+78RL5>#87NZ*)T(T8_!G8V&YSO#X:"DZ#T=&'UK%TT/.N'FX'&$"_,3,? MX\'BSKW89G28+*,\/D>)7 W"''$;4G:B110HR&M6NY%N0OK$T](7Z-^V:SK% M/(>!MWP@&"*FA-^-MM>R7(Z<4\DKTI@%6Y1D%^G\BO07)#EF;V&-9R285JD7 M*E]&<*X*@T)'/:/F'_QCE*]61I<;&E(.02QFTU;2%(LX^9S0(^65ZN]4ZX*L M#U# 6(+>>AUEF8&PGT,L%O42:0UTJ \4-,_$\0 MA@H*%<-8>X]"P<0$R;'1.SGZMPRK5F-/]F*9FY8]!-;G*G8Q32<\ M/Z5-(^#3Z643*R,"2+VA2KP2^]6!V%7#.'U!1/,AHC$"8^=7V];[#HD)8D2M M[T@CHC2Z5804(V>_[.!B))SY5%I .8:F>^LX'/,2#L<[[L3[@T5T58-RQ?4B ME6C:KLBD,"0'VM<%#JPBY\2X;DB$A"-V'6&<1(>:@,'+8,K MVQ0N+LM5C]&G _,X*I(50^#10T!9TFRGV<5._\LY54*.?N8P,HC1H;,VAG]S=K)I ]G/M;Y!DIV9YW9O.X#JO^$)+A<8;+]LMT$<1P-MZ9( MJD@G:QLMPIPH\5V>/FF(H[]>"87N M04(97=']=&S&MJ E"G("Y!$"8P MO=F)MGQJ0NX!G!WX-K ->N9"^A(JXH'R.T1*[(6C/[Q";5\@?4+Z+#\S;6PG?=S(:T?OUCST+)=Y(Q!-D'4>BG:D.'&G)*,7 MH1R0)HA8#TF#=Z<(0-51+P;E=,N06PV[PW):MS$)ZK)N-3%L@X] ZJ$!H,++ M,MJ( X_A8/;C,N>,D@.^/R<%=-$L>+O "5Y$AV>451_R.EE$Z2))V-V;W:AD M^B.]13:'[W%#XL4=,HU>@++W3),BIU(\6Y=B+VV>RC%?K0/R9?CYNX\3@!3U MTY$H[A;&@;M6@)O=D'3-"O($\_S7*%]=;K,\76,RT.0AL>48&J>DCU[I $B. M8-_X<3-_>TKC@-S%\^$W*"6&$R=F.'QK,>7R*3%?L!JZ8+VQ_/%NL/OMJ MR'-*W'THR*%X+0.FM1RZ9%B64D[5:7DY%*V9I'RV)3E>"KR M5!7HRKK[76;]^U23+&^3JRV>I0QF0HOD'QA=(N/X-Q#'3___[CFVJ"3;DTFL MO[H4VBA!=!2(XN20(WKJ@NVDK8JTC(&B>+ &,6)67BYH,9".TG*:\NX7+D[2 MY$R*%[L0KR&Q9I 67DJCT?&;'*C@#0?F%<[F)-H,P:MJO 0TVJH=)Y10?B90 6K-X(G2!>]G"[ M897#^1 ,[)'].I5S8AO[44>(2T([!>'N;L\O;N]N9[?73^C\_@H]S::7__'S M].[J^O'I=^CZ/S_?SO[K]"04&T#'#I2IX !Y0"-H % 6Z1&*&"!Z8(>4'3Q M14'\( H8,2"?# ZIN\A<4JR&J2UXF* 2O('B TE&T&\%*^@ZV:X%_L%7.&OU M:="&I@X8LF64+'2&)_Q"^:;'&-U(D)>KP"@KJH,9T'JI2$SIH2@'9ELL+X8^ M(T*A@)QF6_$]#B>@1HEZ*LFNC5JK3-E5(UU/1\6G&74 E!\4,2EA>"UG_\"QH7Y%TQ04 Q" M95Y#?+N=A)WK) <5(0QIFXR>O'D0_Z]HD[,-I8P'G7_L \#N.$V-?^..%^GW^H22XA MMX"KE\X9YOOSM*H*'#T1M<@([J:B(6QPM@KR7]-M'-ZN-_0NO5XL,+M1:9/' M@7G;C5&%*&)C(2P'0Q$'NH1&Q$IFM]M9B&LF0 \.13D=#[$!$1\1J2%9PT>K MD[#O_Y7YLP_![JB24YHVT^#I5AFZ8@CK>HUQ(>.#Y#LAP2I',Q=C8UN,,JC_ ML!#9:FD"ZUJ,">9;*A)80HG F0+U#?^VY34'AT>\%K0LW%Z&^5:J\$N4B;IJ M#R0"Z'YA8BH&CW &E@7\RUJ 8X0HO8"<3>S@$2+1<;B MIZ)%- \&A'5J]'F &AL!B2'0O#3&JP@RK/LO61[@V*B+)3.:" MX$CYEJ^O4^&W+M'=)M.Z"VR>DDW*PWY8R,LE7#!D-]S)6B(MXFD01&+R 1QX M*0V*5NOD\R&?>N<'V0H0S.A_0"=]"6)XYAJ,\6: JJSD$OR BS%.3*:X(@[[ M02/O*1)'22E((NVOYTOB$\U4:0CJ',/"I",W;9)&2-3N4K1@QQ-+D M#""- RU(5./AU&>A?+;TE1I5C5FG/@T535A,QYI/1Z1-QT)-1U2,_9V#!*D" MOG1P:3]!L83.ZL#@)1)3LEDJO-W21XZSGTB:'7LM2K*0OBL(HX+R!#':IR.5 M?BPQ1R7:T-%7<,ULB!4\+U&57 YC!!JC(&<;U&,HX\H@XX#A?:-9PP%GREC6 M?*Q;3PZT(V-3"H,'0<$8>)$&))PNKNBVG],C-;MI85J2=/BN!,0( B Q,/V0!GSRSOH&S5E)=^,EH0$>Q8=^D\B!]6] 5\OQVPP1@9Q.@@ M3FB<[):\5 YX[JQ:?$?UM-L-FDRE8>PL01P)ZB**=UI:ANJY/2U* M;O1=:\(>85IR(O%/:1J^1O$@?%])PWKNR[',[F^O@F6'6VD8^\7I5S#OZJ0[ MEO.XS/#X&-2WI7TN&P!**WE.YTDHTB2)-3 M$Y/MH'?924I:^VA_;)2RBF9YHE+7P6P]5I:P&*6*N_5D&9]36(T>,:31WH\%W%=( M01(/23D^.P#$O+BH"N)R#HH5<(#(KL*<'IV>UE+ MRTJS:9G&4'P47JCL5?<0D"EA:B('*Y;5Q8_^4.SMRTA/ "T2LB\Y>0[(7)1, M/RGQRM^L>-]/H,0:>@'2-L%*657P0:8U52#=OF5M"+=E-%7+Q= ;@PPO=C/: M?\!Y=928V^D5UHYO*3>QSR&:MIZR]W#Z.)!7L7DQ]_ZOS__H%OO$8617?1K)H M>[\-XK44KVV?88A&^!2\1>OM>M#<"AICYE2?V1-@MQP789]A@0.FC &\&M,V M7Z4$0-;-V0#8^Q\%BO+H1:FQU@CSS/GI"+&'A*>%752_B 6T#_'TPYL@:O(" M"!3-@?X/,4:;S5^!:%HO=6=5X+U'<$_!3_+KE@TM7-+]R,F #6)/N[R*7J(0 M)^&QEB[5?X0LZHXE1<2Z6_Q1*\0THUIQQL-4!@4;Z<67-)K671_;B]%^)R -U OI^)U-4$J^'S!GJ)9CC0F M[ =]C&P"X_VYNSAR[OYQ)JT/'(I5MXM>WT"D#4A,KB$[Z G,E6!DX);;G)[W ML!*J=0W$B!,D$R38IEK@[&?<)['PO2T#D*,0AZ03/4H M:\;DPO2>DAQ,WU?X.0>GX:#21(S:&9!#0(^N1$K118&B(%M5$'X?<9:3")P! M @&X_ L="YA-\7[.T3S>AJRLYIR5& '_&"];-F2'0WA?*)=NE' @9/>(R..= M+/FRI\-.:G"5"\80;\(#^4N_K" Q\QH'-2EO[#KE?"/).'<6<]:MXC>"$3F3 M*6Q!?'2(=5VE257OZ)EG@$)2"]V8K#;'GTY"*FDY$!2+%$1(SW,1"?X33C ) M8A E7$=)E+$0IQ N'P1.>4RT7@KSI MU4LO81S>D'0-3\>M3$2Z#@C$:&0RYM%DT3R=%53P@B0S:$&Y01H[#(=$,%3$ M@'JJL.=K(AN3.HZ9S2OH0/\&*K&PJ3F(K=5KAPDL'6$.-UZ840U0E$7WLUS, M2MJT""0"EI6T'< "O812B_10&U!&"$@@H&&Q4M 0-DLN6LN\[N%5T8TXY&EK MO<+U\6PJ#4!MR'L;M42,S&@%U-':CI+,4A[AT?Q 4G PA1>[SQD44E35(\^A M3CL[S@=JT'#.L^>Y' KBK-[!:/3H^%8KHEF,Z.2I9W\"]DI@+1@("[L44R5V MH,:QI'HRWZ^1R#+NPUXS4K9\UP.X%0N.IPM> MA'VX(8/38_A"C.*X.8_KF78P[[)$"T/_S9COZVZ@)UJ21!I-5P"!091 QOHT MT!U7>$/P/&*? MF?X<8X%D<[Y.22Z09AJS(P?B76MX'J'&QE@QM[.K ;D*7.3:!O, MNMTU.^R-V>)T%L7#3D:PDK;:Z7(^M<\6]Q7L9"3J%_M@%5R9Q1=6 OEX??:A M,8O5,$5O]=_-B:A_+TG)'NN5_'Q>G4TD#&>:4_PBR*+Y(#AI('"B,'M MVS0OT_5SE(B ?Q;:_W<..MAQI%-:90P172V9)YAY(Q=B/I^(."MTE1;@S2?LXMY[2-:EIKJY7E=!98 M9I_-B'N64DCY'@;K+E,3OQ:!LA: ]"$)%E1&Q7\)]$+_EQ#!G3(O ^XLTV68XD^G527B?)B(/ M>B!TL*!L)V#I2CA-;J(,BBTS8]0-_=W1*=6"'N($908&(SER">:_O9,;9U;!47:8)HY@%"&^L)\_9DDBL-TY^HD40L1$F2I.C M[_$\1<\80<*J\_>WS!4D&+]%#"*NFCXUZ'IA:4L9A'G+(E4[EA.Y(?A,#B@S M@FR7KW(C?I?UI4@2K:MSQO)%"V9D+]L%S40Q 8C-;B@B.>RL\AH_85:^6K?K M.S[&MPS_^RL1M!970D1=, D;RX">F(3ZU7.(F-9--G:D'4M84P.22W9%U1FZ MC;:&,D$:X5VL%M&R)EK<)14J!K&,6'6H O5?.""SU]2)'C5!,!JBPYVLW/HB M_OC^X^\=O&KOAI;%+AZU=TY*7P]FO.%)[H1[JAG.,0[9X?X40"H4B[(V'2LD MA^$'/0P$]G@>T.TK(LBVZ&43JRY_)N3?B*&8Q-B>Q"RJ\7,2\"@.' HSJ@AQ M&2*71A2>4\PX^VPKIY(HN]ZP/-OS-=2K'K2S MTAR\/4%<\>;B4F)M*#)I$YSSYQ'==[SE5S8UTBIJ)GE[@C@7-O47JK 3-N1 M;]]9@\EN3DF.B>L."^-8V=4VV@FPJ[1TII-?6F82\J,RF6NEQ10,VKB"K)9W M58I6L+\=S4JUGP;'1)MST>PCIO0NX6CXP7]:-3S-F00.+%ZIF0G&4\W3P&P, M*^GI2KW05>)3@Q4:2 [!"CB#A)V]E:1B2(3YGYRFIS+L3M>A/, M\^F" 34];>+#:YA6D9D80;@H."!3!C1M9=$/YUYZ)Q37O-H"HV4UH@)NY.P1 MSW'T N$;$+5S7"Q%)2>$T45$$9[ N^DT)(DK0CQJ0@0+R&@_C^/TE6$^,H1H MKHF $T)A$)V&I!5UP],WXR$\.0E"7 AE2H7Z*F2JKDBX^R5Y;7DZ\I-HD'J# M;LI271G[BEBNG*%@&5TX=6&U*#,/M*:1C-+$'H2"5!E0EHD=#(E/78=8'X7\'Y/\\O T)V5-[!%\BE MGQ('QF6J8ETHN?9K#@20^,*'XO>*.PP+BZ+K !6'">\0>,+.&"NKB/KM>;.-UA64FJH9AT3)^8PN=B7KE M*?M8&J.9%'FW=M4M$[Z!4*PG5C ,>) ^/Z? V,PWP9-A#5BGID[+70[G/=;9 MYI0T[('Z#!@/ MX45*2/I*;V;Z3 KF4$MF<&PB)XR>)64T%Z1/4K)ZG^$$"2G5*$@.8S^P= :Y MY5NR8UK68(.II,;C@YBU!4*2_P5]>#_YYW_Z./G#/_V3S ,(F)/@"6]RYC=& M/[R?H(_O/_[ COPK/!>__>/P2#MI77$OZ22(;2;'6)9+V7^;,)<(TH M*YB\V(6&RFG/2%FAX'V=XSMZ]H3#@;L+XL(Q9=FX:5R8>$\.Z;'BI,\8;3]P MZY\3HBQUL^!-AOMP2"'ZBP>V/8(^S1 T:U MZ4)#4AIDNY,P*R)(W[JMSKP@I8@271JK+F >9&@HV4#1.P7&XUJ>'>1WJ,VO M!: /"675MK5&T0$VB&#VRD;5EFE/:#(<5T5^V*70;*H M.&?/3'8]K,SF"WL)L_J(-X"PDRP'FGH$.:3H637[P%-4N&YVUV]S!H<+!_31 MS'-22-)BOJ#QLEU:.8YX+TR:08@EU,!^]N?PK> ^2]**2'%%&CTOTN5!=H]? M!0]T4])G=$)_G+,#51Q;_/\/C0:EPZ!B'%0>R,];S;;D93C4.8L$+69@4QH0 M!6&ZR6WJW&5EB<=\W6;9P(=GH3<)CX/P04:,\BE(4Z\ JJBXVY,1I!).VB*- MBZ#2/:'.M_DJ)? >M;'> D7]5*3J6'?G#@2:X?DJ2>-TN5.!8,-??[?)(B5K MGO-0#%"$FCEX6AF32WPC3V(TAA>R\"H;0:Y+NS%H9@6*R[*(P,9J7*/EL#JS M(E7C7?K(YB[\Q8:L>BA,/VD=1L88WH"E^[F/J"Z#9L1U)N*(#47/<*(3%9Y\ M$K*T1=UE0J# ND"0@@>)>2\XV>+!8389 ^D2U)P$W!CAOPR#P(4@G*3%ZG@R M I\MH"QB%CW^O8<%%JO(?HVPVALN(HO[UJ(U\;E^K=8@;JP\;/%+VA8X+LO: ML_[NE4#F=A+W!N<6?_5=;0G8.=BURT(-V=^XQ3J[?L-D'F4#O=!T' 8SIQ6: M9MZ4[88E0/,A"I##=&.Y((QUZ:5]F(G#!T)\)%$74 7 \B9B/*0&](W\.G#E M'PCS*D<[5:F'@=S*42W >A:9H]=K3)80&4G2UWP%OJD@.=8V+;)%)4G$:2)! M=/12U"2^.A.%8T-IY58DD,]T0?\+Z2X L3 4W*M48B64AJ14#,$21#);(++& MA2O>\UPH(%S@'TG2#./>%GRX<9EJZZ27OX^=;71.ETG( G'CX-@\>$4# 9$1 M\EGR"EIFMH]*\8CI 1_-VJ[V<3,JQS$TD9*WZ$80V9LX9NA+1EC-L/8'Z:#_"ZTOVT@_P)04C-7&;GE MYV5[U9CYCRNL5^R%8V:](SXHN\$V]*Z?1_1(X]BWJEZRU>C'^JK/T]>$LKR*-@\*=/?8IW5# M=>L)4F.@!P?(OM;D+*'A*9%L@A5S$U"^IH^X)0G6QSYZ9I^0H# Z%JOF)YNL MEBK3#343A;D;6G59F515WPA M U6>E4?*;DD""_*452X?0LD-\DM &!378Y /R6$TV@#BOB(QW@F*'/]#25NY@\8AM3SZ .WM-8ICGK5:2O(N M"CH.5!WD&#)#M9SRK1>.=!+50N>_@JM>F#L%[GKY%UI+8[4%JC43 P,)R%[ M/;$^7]4$U%88J)N"9Q49^+5-Q'X-[;F<",W:#;_[6@3>J\+]E0NLW6J3FMH* MFIN'-X&9J/Q2[V$1=!/.72V ;7"10*"G1\0YJ@IH3(YR:J*B9Q%%4UUY4'&J M2 5^Q'&0HU0]D7JZ:( M!+@>/\_[&OW4X9379#AP1Y T4_"S=4I81#==O"RPAZI,T3(Y^LJI3W\0CC"% M/26BG>B5(\<6L4Y(#O^U3$LI(9-RM8*[=D,5>LPM/)%*EK"$XLN,5S?_N[QO MZW'=2-)\WU_!AP7&!LK;/MZ'16,7 ]357=U5I>I3.C9Z]V% B2F)?2A2G:2J M2O/K-R-O3)*924HD%90'F![;I0N,S/?QA&NC(M<1Q&%TTO\XXD=9;_T2_R7G*[4OP3 ,YA_9!.7PA+F.:,H M=KB(W@T@:L@7X.07%P-X.__[S__CYY]__@(FB[@TKJ O!/L3_*^)D?&_@S1C MXDN39RK](@9X84G]756[$)P7S*5W+P6_&&=&<1FHWT6;3&OK M=)5L \$W,!B/#IXHO\>&),D@-82G:"2#A,D_= MN64!>NE64"PO0 KS0Y2BE$ZI7/ =7I*<%O\QCPLHWWAD1_5['.W#Y/HS/O4[ M<%XP]Y(;V[J,W[BP41:_>:_6-BI8P&%J/@N21L07.1A=+QE"P'H@I)-L4Q>J MKH^H\I_S)8@,*8>I-QJ2G#7/XSZD\*C\E5 > ^T;[U;\(+M?H(.<*> ]F""5 MPYD4P5.6&]*,)X"L$.JK5"DV9PE9]YUS%4)V;. CE2LPSR0H$<>R*,M"NM^" MUF"K=/5O137!X_[,3O5=.K,.AN2+K<;$-Z MCE8;@\R_UFB3QVPUH-[H(MQO=TEV(.2-T/=X2>S=)ZX3=I^+/A2KLF&\R$;G M:6%/0Y3;B%2PA2L5[$J%WX5*?1ON8O:J8"*JY?*9"G.07UEBOBUGXMQDWI:] MF?K]YS+9,X,( ''@M>T+^:[JVN3-P>:;,%6E,GU6JD[2,68*@6S=2\Z2"S3M0$Q_="N4MY$HZ"I1 MW@WV5P%[P#D*U:)_[F589YY=1Q'?&&$"^"./J70?&NB\JB5#'T1NXY$\PJ4? M&KS*.A7Y7-7E0&4[ZGX0(V%VG_6=5$.:\T;M0JR$'0G5&V,!-"LTQI:2*S-L M6\5$;"MP/,O"=L#1B?L5-TI.$B!GU!-I>$'TO:AY"MQ_)91D>PFBU!3E\XND M$8I3IN"2-S81'HUYDK&@'E$+P3'0+ /%<[2XA8"=#O,PO=[&Z8Z1]&_BR=D% MBM_8(,P#3#ZYT'G70=W/-7\-[QFG "-"";M''L(E^%D/#V%,>=W";"5"D$;W MJE,!0"&$F:T"\:! />DJ@&?)^EZ .1813^-YERMY!9JO*G80E#_'YJF95XS%4=@_]*1R#8!V8*XX)P1?$J@,<%\+S+ ME=S\JK_\_,O_&C61]CW.V:G S&G1QHHO(LBV[*<$:<8!XZQVI&![(=(D=4' M_I=]M\XF#F0Y][JK5([Y61I)GS[;VM(!1B,Z NU).F6^S,VA))';F3>8$?UA MI,F3BOR= 3)VS%E4\*X6A\":V2.Z[\AN-1++@AG(KV-C1F&^-TN?'KCJS0:0 M.XEO,6:BOA7)_N321P<^_XAGRD "5%)&'1G7(R_$5P QZ35OU2I4PJ&HJO8I MSML\-0+.89RR-'GVSJC,9^QAHZJ;!QR9DMMHUNE04[=<0^;\Q\GCEEF'AR^_ M+'@E7]\JP"^__+#X4>4RCE0&VW?.%3"PLDLY3WW"S';C!;Q?_([ MKE])BL$4C#+-]2(EM(=Q_W#RR4W5ENI@BGY]%M'9X;_E;2!ZF@6,B^P!,;IE M\)REY/ -BG47Y=W(:4'ICEW!NO1C$J06JV\+!@RY\6K-CC+D8N^6DX MUT"P#3C?*ZA'U9+^-@Y.F]91=&M!SR8;ML$B^VK^?1;\/]%9\2PEK&=X 15; M9K]EB_4 +R&NY[Z-F6*QCJ%8%,XJ9:F5=IRLIQYB-9L/LI>FR(>=;8&/+WJU M8S!W-HOP7T.B,LTJR#QE>C+78H7[. MB&75IO;!CZXP79[:4+R:*61RAF,J(HM"H+J-GH4PH$RU36F72"<=7(9,B5V< M.Q#G7&DQ;'?M""T.KXQ!<9U&X W:;8?(KWS*TK74".85?> ,.9:R\T9;9X[: M[Z)3:9]>4Z(\LZ4QAX,*HV7K.=]3+2?5?",CA=[_FBV8/5F4#6GO(4T2](:L M5TO:6CP>'@.7!&@)\D$!D4\*=N)K%O U%_"PL9*[QQ)6+F\N)/3O*Q\0J"?H MI3M^Y_2QI#07YU]G-V\N44?-,N*=-.Z(^*=0=-(BHZ?DLQGE'KI%QP^*]8\0 M;3*XCUY2.:AL25>QIBZ/U=DXZOSY%OH;9?93'*8O4&?6/]RKV 6==NG;/-WP[:QM9GV6-J Q3$TD/#$R#^7F:-O)(M,!XY^'I'EE=C9Z, M(LHMT7X%^RLS@6U\S-_QQ*QT7FP7](S0S4/*FG04\#*DJ?@]C!2,*X4"GYU# MHLX]ZLR$E+RWV[JM2=U9#*\SR]ZHT;"D+HUT\_V>T>^KC/THW76'IYY@29JA M\D<>SM&9?C@Q:O?XV<5I!DI4T=I+5I#\*0M3*(W3KJVR?FW(B)%ZYE7 GWH5 M\.=RUXA^LE$ZAQ1"&OW-5#:F\7I"54=8UA^-"3$"?KD\AU4YB&[ZY__YYZ!D M.;9NW7?RUJ3-A7/FF8L\^7EVFX%O!'J;7?^:<1\X4^?HT>[B.B""8 \U M 4OY &@^$P9K> ;\#1YR(;(I#_\?229SY3W%_]K'T:C97H]I1%;N2/[-X3G\ M9T9ODS#O#<-8/LJ=R7"6JYE_F50&N;_&^??>P9@*QP!8G@ON8D!9JF:+5:"S M5X'V^BJ>.M#1OXL%:XWI-O6.YST=.S:<.J[C63JZC]RLYDY>,[!*3I1&L1AI MI?6=I;D]1I[J\2D:Y\M-N41IS7@-B,Q3C/9"2FLFRKBK[^_[D++5E!R^DEU& M3]W\>@UJ=H'@-^G)6W?1^!) "03C+4N@KM>4\!OA%JQ 0CD6Q4NX[:L$E,P" MX#;B-3.J/%5%H";4>/M?(8>R>[*NAI;^O+Y.$O40?DTV%=#R06?R5(XK=#NH M*G\/Z]&A9T\NCKQ>+DD"E>35D>#!'0L-WG@D3P_[8[^5ZA(1 7?9WU8V&##Q M!P,BH/+'K^M6W:LD-O\PH<^#@OJ?^O3-KZ+GOE/%]F?7P;1/=FR-LW1.(VJ< M TAKU3AWAL@K+>C86J?H6?,0L_/BEAT8ZXSV["/*606*UV0G;>G;,_;,6\K( MA]-BG*7Q_#K_:Q:S.^TW]M\\O^/L.LUXXN,6ULN4BK<-(<,XJ%1#1<[QK-ZI MP20QOXA=G)%[DH#^0\F&7;+Q.Q$>/T">><@HB=>IP )='N;L!LW#I73#\?]* MA+*EH1S9,3U;S]!, QIQ1(+^0/,*L?KP(YL4#-+#"FQG>O,;F@G!W' M-H70)9OAZ FETWBQR3G?Z1_]99K[5+VNI7I=A?%ZPA+;=$2KET!7]=TF7C;B M%[V"S"7?P!+!&#^)'P8JXWM@GR@VLL)^3$S.TD<6R0P_ ML*=[8Z5JI@IB::2^NP/*(-_]^>;N[T;]PM;O$$#MXG9(L_2GL[9#&UHHE[M" M]W,O65^.4%8G!A7] L8JO[@C*\(F&XD[EEV4)WLJ%"=F6G!EHP!>TYUU[8S2 MLY>JTGRX9MVV.:S5Z2HQXT\N0W6WU D[;T_G-)\GRVNHF3 M!)I_]BL3%>T]:-G8+@8/+SP!U.*%?,;E2)?\405K:"!8 C:3>-TE[J#CG7X1 MK!MOA)PDX!SV, 5$*"=O5J+2W;0&6%DH-(S"2>_ M9!M&F'YD!2%L=+16NX_R*Q&-GW]E4P+[?);>Q?DNR\->[2R!FT ]B20W@6>D MG@I[=\^NZ33/DCCB<<=\O\CC* [/[Z4>X!58*V__J[V$;@Y[6/_B40%_0<*C M%; -H!YXN:*;&M/I\H_N['0?A]]RLMHG3_'JU%O,>_9=!8)_ ^X+/%:TDH@ MG6[+=_!>2)B,*J%PL H3U5#P>SD2I=-9NA3,;L[C>]D&EAV^ M++)?C%UX/M3,S=+ZLF[^ J;?=$7D!L]_&WWMUZV&%U(P^S;9P^<_N?U[!5*G M825 H.X'_9! />7',V#K#"]K];IJ"E=97BU7V@!/D8R:AOR7I.M MIYB-.U55:G1'\B6-=S)$?1/F<0XN()(KYU3?U"9=TV0\B2LJ_%E@,YI/.U-& MT_C25^HB#,G!F2K%;LR^R&AJ(<( M)\#CZ^P"Y4FLHB@L4?F(0#PC4 ^Y0#FK!Z$6ERW&4;^;=IQ+E^ KH:N,;D&L M&1-GS;<86"\ ;3F/MXQDMGIC?\U7(FOFJ6>)LIR Z94TYA"4D[@*U#0",0]X M-^9,SE3*C/?&;(&DMK?6>&DSE)>F6TP^DQ#24<$1)0 NAP'S-!IJ&D_ @: = M3=9*0EFE@ZA,GV<'X6.:%W0_48J:CX//_M'M&W5V7"RZ)"=.3E5@*:FQU4>TQLC9W@5Z,@^FV1PEJCY M]-YP55N2[Z-@[T/%Y$>T?B?T-JR!EG._#PVOH/':F?:1#8)O4"(W5(X5Q?TL MR)5CB&=+FL\A:7X\,7XG\7H#79^8:A>NR7+NSU5V<[-E?>T,>5A5&R37X MD _]*11/#5+^6/B:2XF+>$9 Q)%?0>5,$CPO5A:Y_]13 OF8X$5_/]EDM (^ M>NE2FQZ5UZR DYR=-M652KASC+T2&VGL/.S9:F66?97-OW5O]O)/ M,D((=AWMF?PBOU/"NX%SK7811J*G#!F[%ON,(LN/RY[XDWSD3_R95V8[]"NM MKQ\J?U<1V> ']?@1//X\-?%MO]"^16FU VX=*#%S0OMY 4S> 94N@:7D'A3 M_D*D2BP"*1^'8AS,+TB@6OIHAR\U0A\5M2N_Y62VNI[ MTD\4<_-(>53JS+C=-42-P7#EZ&6-P?F+S8<4IX:%6>6%Q(3: MY*?8G'*?XX%G/'SIG[^D^(D& 1.>=&*;;_#3E[&Q@X>8>^VJ.*<,S=J"^Y!" M."%7*C=$7)?7:20MO@'[S!K@X%"KO2]TOT#^3*ZX*K=&I?K\'*K[F5Y(TGP7 MZGFEE%>6%W).]'AVS(?K-25KV2-2JD=]3\LJ6Q!=*7SGB4D] >X69' ];@$F MB'L<^Z6P:HZ!R7+L(\BTEA\R^L1>:/)&BB(1_8.W1_M*ZZJKL)YY@]6(]PM. MX!%!KI\1A-NQ^G M@YP)XZ1O'JU]3Q3S\4'Y_."^XD&L73;-\_9LB02J$0:D -Z>6/!=3TR=^'SE MES)X\13,*Y4./]*.8[L,0!Q%LZE=$A?#!.$%5ZFH<;Z3G[_R1&=TEP&:)7A7 MP '&<7K2BBQG[((ZG'RURZN4GRGQ1 MPEH30UXE\ _/X]S)9W AR?A"0J,$,-8@(6Q9["$IM1=T(F^OPJTT@^/H@.NY M2@;I-7=F67(87Y','C.E6%2[GP'XD=]I0M>_XZ],/%FHZ2_D@_]TR#82\G*9I[L&8)B3&R*482LIKCHI&\CEX6+_T.L<@5&K-H91\**X18*!U N MOYOXY_A9=69SG--3&W3J9;4%SKCY#99(1,_\-T=!YC3A25>#*QH#U#OC:[JLS#&D2_5( M]J\M3Y44?^(M^7;%3^*MR>'@#S$=HFPAD-D.NARP XY[,W7VA%*9[O;DA=EF M\P^2O)/G+"TVN7Z#67]>_'W^">T5&(T@H#$J,T/"\B\&5JPT=&R2'\D"2>!* M:RZ85"P2'Z 7D"F5CP[Y6W4JQ+%]H4X#D83CWA!E-I1(7Z9)PJXH[LU\3&4S M7[:=P)-FBMJ##?)756?#;*4U+O@PO'^X[6/ZZ)%% ;UX-WS;D.H$' M^J+32.<\W,([Y$(-HKB*V;TC-CZ<>P#^QI1^ P9EGH'G#=+2,@YG^ B=R)@- M;E^Q8SP)^?5Q]Z/A>*+G^2Z:_L0N R M"!/ \95/X(2N&C!S+8:R5WXI?&-V3_[U[9M;:?,.P%0%OJ4AVT$%MPD)C;?Z M^'E,N<["T2*K9:4-/> $'I@B^Z/C#>G\Y)/;AWR3:+OH-MS%19B\$-<)VW$T MLIA=K;U_D) ^,/NZC\6H>$SBHLC2-62'WY&%YWXPB-#/16[YJ/L:/%J_Q\7F M=I\7["JG&H8(#G'V?U DZS&@CF&#>: 8X"ZSE?)3SJTFDYL4^32V M 6P@S$!(8+9R-'>S6L-=!Z,+R75(J^XH,X&4R]TN9N?AV(+6(\WJ4.%)5,RN M#/.-PBOPN3>ZC$<6M=%_Z>8 (>.ZOZ #.?99:]\R;)GQ-H^JRZ-O@1[) EG@ MMPVSSY6*XOMF5D+LR6L?C26@F=\N1PY&\UIV%$C)3COY $7 6@(%UO(?1A^VBM M@Y"%4J%H=?N;62DV>7STJ.Z>,K&&O5X)F-[J].DP:%+FBCZ]6AS*;8.F$):4 MJ"\KV1JQL/DC)V,SFLFH(K:/0KUK]@N_@3&9J@*ZK 2/AE=E+ M]JNV?1SV%]/:&9_FS8$G*'50YAKDJ+LGAB!A#IN[&H;/BS 1%Z=2/IMQBM,X MH![KV;[8/(7?R2PE3\G2(9*5"GLGP7*1B^=)5:19MXZ-$/.=?R4%N]FO95%M MIW.Z?0BF0!6=1=A?L]41VZ A;E^&Z/[[!*H+7D-:F)W+O:Z(MC'((IEH44_9 M,E1IR#917+3828.FW]$V[PH!\F15V%XGP=4:9WZQ"= Z"#O^:,"\IE&SW8LU MWM@R!C$Q4YC.UU'$SN*78,6OKH$<\G<(VQ7?EVV"ZRI'X@57[$7SA* MC373A%KL8),469T/XS1<$WZ>YV5&)61R&9Y)FU+?:2!V;+0]BGMB\!==3>_9 M(L3IVQB&\S3CJ^[<>.\ ;"6'\/1EM@R?0_J=@!$I5Z8[V[1M#+J)L"C*/B+. MM6@AP_X6=3AR>PS;AEF.Y12D&6A;8( 0^AXO+8O&1X:R+(_A@"WN$6FW\PTEUJ/@:";8'IOE MJ--5BIL+7L*.(1]C"!)*+'5.Y,CV;M&X LS$N6 M?O.@OA@_8V],G?Y4M<-V<]&@*XDR M5X,K0\R4F%&>%2"BYRJSTQ%7Z3 2^W0K>\,V4S9\>ZG30-QH'U=5K]=AG.:% M#/180GL6*FR/BMWOYSD#_"/0=Y##8')4]_CHL>/?1H9JLY#'386[#WA]"K=0 MLVS<[L BEJS#\/^+8\C"1:E#P';"CV! M#7;)&0??-K @7<:QE1![\F93,^E:<5;&.(G1/<>WO+P\>4PC\ODW4EE83B)L M]6:_8&LY#NEA1IN>>4($IH.L:VD2*S*WD3<@?^Q%FF5)?B>R=Y^9,NP'$CH']LXU$U]1-B[53]D_+$/1=UC.]3R3*6VLXAN*-?4-J-Z7&8O=M6P_Y MY)R9W9R8Z&K5//Q\C-A$XE4L2K!>]O7[H)48_UQL@:Z](6QSE !IT,20J8D9 M98<$TX=X-'Y(I-R3'S>9W=BS]6.'L,003\!?=_5;M8;EZ7-A=A\].3'O!%HD MUR$,)=%_]IW 9GKN#C LMZD^_H3>) !DKG.VJ,M"Y#LF3D?GQW%,L;/2MKLD M.Q B/Y@E+,>[9'A048[C, G,>7M:G@?Z<*ZGEG>/1)F/;\$OB5I. IL,.\":DQ#;H>+T&*!Z!"02O$2G5,KQ#0FA>OPI"U.%(GCW'J:6HN?N0Y$$ MY,XG>O@/HU]99OX5>S-6#KBO\7I3S%;?T1(1[M/S8Y<=O6C90BBA2!SE)IOOO$C^C;E\22')2]^FY""P7?6C-^K M^?TGHN)C7L'H*+"+':EB>5JAV(C0M7<#FGHTMGT3Q-)4#.NW\KI M#S4-(J=,': Z(SS\O!/(X M?U[1!'X#O/H3YR"K+@_:F//E">:V#L/5UJ'0( M:52;IXQB*ZQ&1ZRBPTALSTVAEMOUFA)?$,-'/ 6=VF](5"CP]TDS(N_J.M1Y MT$343W8W/J9LY:_YL<1?N_K)#5C=>3#V0MN"'O:?,F.^/E7KPO..0(92%ECW M3.77?1-FBYR-S9?$EO35.@+[ZS1*#E^('R_(-P#[WM'%Q$:-L?2Y0VC3<)#?A.FSN""C0K5?! A/BBTLF(9.XFF M8XDZ5TZ=!MOAOEH1<$F6M6M?PX(HUV8LH#HV@&WQF*HP+",2UP4((#*/5"FU MU4T_["-0L1S+Y#[ BZ;Q:I7SS!]=RM-8INU#L*/3$#J'ZILPWU0:G%OCTRYB M_*N6=Y#N5)/K))Z(<6\4BI4M^E05;JB5-=4(G-T]9B\\IHMO200.8(EE]OS?'38V@DX)F] L8#P+-M?C;/%3XE] MI*AH5QD6LQXF3;*)[$##^Z6 PJ-J/:=.BQI5J6J[QL;TA*5O;T]Y8A^(7E7069 MI@#>B(NW_K)M&/:-8V_9*B-DY:%U3+_7YF!D_U+5L;^R>I3J--@F92W@;_X= M>VI N![7&V,\^_LJ\,?PC6QIHCZZ%$O-F$.0.+J;&7+BG=385L](AA'(KL6 MZ+'CNHW$OO[B/%RO*5E+;[5\Z^Z&AAYZW'J<,/W+/OV>.-M5-"B0JY1_>S&G M6/X5VUFED)D].:%5$FR,2T@+?@T/+9#Z%C+DB3_$:5R0I_B=- )@CHHL_XBI MZ)WPFF.K@58C0=6<>1\H70 M^G/%#7SD&UL*1^-'[(.8N_1GJ_O/)7?<@T-_QI-.X7^&"[ $GI'NP>H?6MR3 M(SQFRF96#:7G^B.DT:_4X3P[C1/JXH:4^"]_?@T!_"Q>>NJ%.I!C?\<2W$L5 MH8B^SG9]NLR: ZU4.=C%%^,%(P-E'X"+OB&RS?LWV>',1G8=L3XJ8@J]Y W<=-)C)_#:6]B MY!.F=1"V X@P-7XI,D38],S<17OLPTF.?2!4.ZAZ5YB+%M5%^A[&"6@.NO72 M]:H .TMT[F';09_)[&^B"6C3@WH"$_3O5@(NJS9VR;?WDJ&9'MF ZS.N&)+O\.:,T=M4;N@BQ@WCVIMG6 MJ)V=%//M&[UWY&SX1OT+2:+&!_#08HJ@U9$VD]1%.+ECU=]'=V+-<]7$;$CK MNOK2M!I!:814S8?XW:I_G<0(77@V27#0M<-O.$C1KSV>UD2B.5ENTBS)U@<. M"NU!_VP9@ET_*.$E9JGPT%1L96THV^3J-A)[P<4IE&ORMG?P$] I M;]C=F'V(0YK]8@>J.V8\=K"J[#XB?>/MD%)UVFF$@_V]W\IT*D]4N"L+=!L5 MTJR@UA9,3!GRR-^RQ 'IX:+&7GJU'E:^B]E%BWU0^&[3Y[" -EZ'+K?6T6P0 M07Q=O7GLO3[\U-CF10,IMD,%LH4:W[]MA>5P!DZ] ]!/MUHFK+A'X=_LQYN3 M'-OT*(-7MV87=U' 3J)9RBLJ1/_1ENA7.P-L8>T1][+S^\VA))%V!L^\>/)6 MR??F.I&:J4%J"&4[.$XIT9UEH*T*\FQ[DR@3P71^.E33 K(;IRX8S.'1G,FT32ML[Q M:>FL:R/%WSOV](J.(:]CQJ.?>67S*$-CRV\.E59K_L:A'49C!V0K]BNX':Q! MV 85NN8JNR-ZI]VDPM0%7D)V"D4TO&6JUO[[?AP([+E)L6UOA5GSD-&[ M;+\H5ONDB?$%2NH[H8[S^5@>Z R8(3!7F]XQ^ M+W-=&FI+]6=4OTNU?3-XQ"KQ&:-A$]LJ+^2#_VQIJWP:GXE9^W=QLG=4&CE( M$8]GZ5HQXY[V()63$/U\@]@MQ $\J2(-(G2=BVK/\CS\E-A$5LW$08K^UFLA M)3:OY68;TN_N?F%M8] M#V_9N^\*Z3@4\XA^6'Z^94E(GQ)7*Z,&!?I-[FLW M8+_)?2/PO9$5%_5C>KC'QA6 MKZ/[ /0.F.9N,]"'C]AQQBCTY2AA_3MT%W718G\97<%?<71Q)Q=?3UT! %J' M3Q;3] M*CVE.LXX6^F*U==,@OI^%@ [Q*M-BFBG#R7=]YM]3H@=Z<2;VMGD MKJKIP6N:^Y^W=3@1,K4Q%AT\^3J*V#F4LS58A,G_C7>W6=3P6;LIT:?/X;5# MWG[B+BQ"2V2DC19[D9$D$??],[.TB0$]85U63NII*-ML8LP4H(8B+5J(MBK= M_H%_O!1(XP=N0-E>S1D>.TT_VWP3%K]G^R1ZW.[8?M4-9F1KF2/<<"VMR-%CK,."BSOE1ZF>X"[\@-<)-B7R9:U_*6 M1_B!&([D@1W=:;5))F5Y>.NDOJ61S-DFT?WG$MJ).!OYGL1H,LOS,8W8^>QT M!G3PEG3A,)'CQ)9<4?T9T]:K-##CJ'QP@Q[=^LPW$A>5%$*+9=^:AA1U@@F8 M-,N,[C(1A^/^@EL!T.XVS;Q#L/4!@=A;P^GMX._M-!#[1%.[6%PR4.*5I3P3 MQY$,Z1TP6774GV?591SF$="LW^7)4MK_]ICR2GG8.RV^K),YH7]9&3KI!@#G M(<P"M:H18)]W)5RU?2MT ;KVC$34 MV&ZRD$:SU1U;($NV]O/;31@#?H;=!O13H_KNP?/LZO@#F3"T%JCJ/@I1-7K* MEF'RNF%WI:@&K>M!]=^QSRE7:=>3KU:\?13V]K>U?'>J.BYBS-U1'CCZ.IA] MI&QU;^*=:M79V!Q=!J'?\(T$) E-*Y/?NBENM4'H0DD]1'<)EW5#CM0D%S7V MKFF[^KR'0O?1V(AJ619]Q(DU]4_]AKZ@K-EK-0/18 M< I[&, ($E9 M$D>JQ\$K^YH V"=\K);&*-Y>%D,PQJ[^6R[WVSW/"NC2^LWV&HYD@0K:+>X) MW7M$0A$U@_Z7Q MEO=V?$WVMLP6)Q'VTH'ENVB'[EO4H?MD0O=O@!0*BIK61#+XDP&3_SN!BEI& M XFQZU*?455J^S"!1%EKN_7IS ZU;H[0](-L[M,UFV$DTB$R?L6'Z<%33-=I M&/;Z*S.GVT D*9 =_?$_FJ+D+X>'=_9$KOR):J1(WW6ZD5G[$39305[G( M4M\7FXQ"/J4E9<)%BGO-F#">=:57I@4Y5>:C1F,W8X@!!2>-K,J _A'="V"M MICP2(VX"JK'N'%]"JQR\'EOO &Q[6B>L0CSNMXW>2XT7NU&PP55%19@L)6FJZ6$'[' MD=BGKS;+KIGN$ '^%%M);V0)#51BDK/MS\X!$@DLF^UNKUSX=>BJCC4>0SUE M,J]-9P%(S?V8@A?_6,3LIULH8&'KUY8!;OZ&KBG+]_="_'FE[/>+@2/U'9/' M<\$\/;E!Z_"5&+]AWU2D**#;@Z@/=-^Z-KJ)U D;!?Y>0]%'CZT,Z2:'A@I@ M57YLA*@QU&2W"=\*0A+'4J\38%OD97C:[!W-_CTA,EA_O65VE@SD.V,]+:'O M7KRQ%Z-?P3Y!)\=65^RX7**VR9[]XQF +$PM3*2Z]8A4)$.S=G99.8K!1([X M(3 95++M//P\3]>KQ@.Q70?"Y\ZF8\]Y,W^?IKXH$Z=ZZHL>+O@'E<@'<\<1 M*Q3X=RGD/=UDZ3[7C0\$M,S2W3.A?=0$F@H\Q#E4N'#GX /[6V7#> G1]?EN M[=KM.GZWL?B[Q -L>V0SM9.9H1O_*I,2O$:.6@5WN*QEX#2#F5U;-!PQ_$)V MZS](2..8*Y>C89GZ M8)K\8RZBVJ#EENO-#/,E/(?TRURYST$Q%%6(G,4H](.4NO*MAM)'8*31DC]S7MJ1%A9T62 M1?&8 H9^JSKG(,6^7S)P\^F4P;MP&ZY)_I;MUYO"F5S7.@@U)9?0)5,BV8S8 M!6@60.D+$2JA&B=7MV'8AH-.&U!N54?Z/+0:>F17_GL<,0->Z&7L:S52ZN%( M '!MRLMZ>06'1+&].2C:,5A3WV!_?(>U_JK/&/OJLJ'/7Q6U(Z8&] M .=&[#1P,FOV?KM+L@-1B;6.&I"$W46APG=400?A6A1P_=WR:@9^&':]-L=X MX/$3C_+2I$+W&)@%#IZ96PG143$-;:,1&*R[PMM'_(&BB$>Y?,[R8'1'M,PR M@VY#.3N# 'S&CQA4H<0V+:SN'']?I;8QD]+,OT&8+;K)*,T^1'_<< DYC$X? MRA'#D06=0R!F3P]E:9Q-GB859FII]FYOGMGX$5MW$:U/3L@%ZC9R,C%>B(MT MB/!J,G2]PA:G5 #@NO.((P#192CZ?5*%EC>:V+D3MEH'3;/SBBY=?"5IF,@V M;@KB4+IX;>+V8(=]K)38E'!?SE:=6H6VCT+?E=*^;G'BV>C0]UNS?-;ISW 2 M8R\KJXTKH#?X'@"G%CL-0'G./7F?Q[/!%IRLX8[Z2G80A$W77E1!!RWB52RU MYX,JLX3=7;^';33HBF<8$15S:\9-W NLTT#TW,L/.3. ^J-9ROYU*9!)Q/PZ M-),XEL>DCF_AOA#5BNV'N$D]03'LN"+=1F#O,K++]%JUVMY5FE7 B#DVCDDV^5H_7 MJG70A12V^#[6L3RPM3=/V^*^'<_=3"XB"$C;"6)4?)WPP ME% VHL4'0 ,ZE8F3&*'VT]%A[&I*NXR052)C+;#,I[/"=LF\SMR*KOX1%0E2 MIY,8RE'C UBIL%6G,(_SVZ7P34U%OY^SJ=_*RV*Y$=; JO?>5OTXHMM2O@IO^9^QS^%_' ?L)5QMA]:AX*=*B9WNJTPU MY>"QS;Q!A&U4-%VK0I=6%YI8&3,*_X1W+7#<\SQ>I_8EUX\C:HN(C((CP5,I MUZ! /R#81#99$C$S1[QDV8'7+L,1P]#URNLHHK"*Q#] 3?_%KF!:"-$#9V9H MTIG=:2%#?^MOVS!)U ZVO^\*"?J;YC;S5PB=Y&5#/S^N=,L8_&^P(4GB];6; M%-@I%S).I>\UF:ICO?RD<*]Y"B>WN.P:&>JIH MTM(Q[#UOZC38RT::.&6#2KP1_X$=A&;C\0GIN#G8&K6]*(C\,VM^$(,N*@;26V3=*) MF-Y#E%C6?;5IGV4"V.@21,)$\&4M;=]F!HB#$'FE!]??L M3)]H&S.!5"KS_&Y^"QL1]DV]7^3D7WNV0NZA'ACP*3R5/R[B:>BL1F\TJ5<4 M>YI"O(-=L^0AH^9?/7KM47RP[]X24HF?3V7Y0MX-8,H[$%NX+LWSRIPJ[GUE M3!NI<$/PPSQ)B?@VH-X8B*HQ:9XR7FKL9"I>LE8BBDH%UZ7J>C <\ ?&' S>0#L)TLW3'2IXF*SM_I*XV7=M@-_2MB'$!NCAF5 M;B9;&,!&,X$2Y"^_+'B HN[PK/\^72O6:#]EMIDZTJYU<$$_EN,M3]CT'8]I^=V:";^FL)7I2EZHHK M+T"%HM/V<8_G@AV3MC=/$M=AWQ9,'B[8#@#CS.-K5+2*2I9CIJ(+[K MIM)R29P; "$9VPU+[P#,+_4W"DVDPO0%(B$.]XV%!O\ ,5)>*LTDVI+#6L=A M'R$=\6V[T%]*NG\%1]RKI/5DB;G3?L_H]U5&F5DI-(O#D[.4S4TZ&55;A4Q> MLH+D3UF80O!$*QD=>V#T8(<:WP1O8&Y'_;$2H$Y6.&?GF0#&@U3\ZU\SK@BR M@31M3KYE /K5&Y&5VT"[87;J/S/*L4.M&ZP/'_2KP6B! 9TO_.JRAQS]&UI# M66Y1O .FE^<#T,*U$CR?5G(NCG3U?ASC.9,R8@\>X'H[Y31/64L/^R-.6QJX/^5B%-0I_*Q735;S<-/VRL8YTG8MRV!:L_=)EXV MK!UW/+9UT(3 @ES9@'4:W)1,I9I%TAL)-W'#L6 GF]8E+,.=+VS@L>U*RC%3 MP+_3_1 L2;$6&NS(364U2)_Q*P@26Y*]L MVJ %S%*FYNVRW%YF?BR/R7YS9FFL]LE3O+(NZ2[C)J$S-F"EW0J/=P#V\=, MJ[$>- TJ=!=V=?,S?5CW1O859789AV_8EY:!PW8O";#-0.D[-] _H;FT0,1] MI22'>L]6P+SCN>"KK1K+7)5F/4*97IB\[A=)O%3 Y@[]M=M@]/Q&J3O)>Y7= MI:N,;F&Z); /.,,@%6H>;QG);/7&_IJOA/'ZY L #L<=^Z93-4?/O*4)]X9V MQH[N/'@B^WR(8G9E_S#+I\7P&/^IZ+>O#*GJ#%%V!F3M(4.P"Y( MU"FWZD@6V.D!E4I$E^.H286]!(V"+%XEI,!)G&$@&S&V2KY:F2[FLFQ05T>6 M?Y+A&X'):+>U>K!#K07>+[3^)*]72"*"PV!.J"71K6T \E=E%M]L=9\7\9:= M=M;=5*5 MTFD/Z]CK,='CZW3N-TL7J6NRSC,'5)I._?%D3YH(\(^I+6CKP$A MQ8RD)5-XY*5X3)W54:SP5=S&VC<%VND,A OA4'K<[FKV+ M)JAN)Y*''/7.,32"AXP^L;>=O)&B2$3YVK:)\MPZ KO0JQ^FFW=)#L4;W3/0 M$=EG2D@^=HAQ=RV4FQ1;V05W]WX\Z9<1*CIH_FRO/@2A.M$6 K3O8VA^(.>B$?_*=C&B361D[$ M+6?FJ3L<#P[2Z=E,/K^7AWRZ%I-9R^+Z.D<,QT[YDE$RGI:VJL%\.HG*2?^? M/Y5S9OK,]W__;^HO[/]!FZ!___]02P,$% @ \$EH5QDD!+.H6 ^8P& M !4 !F=&-I+3(P,C,P.3,P7W!R92YX;6SM?5N7XS:2YOO^BEKOR^[9+9>K MW!>[S_3LR:L[>[)2FLPL>V9?ZC!)2.(417ZX_OMW7Y[>7SQ= MW=U]]W__];_]RW]___[=]>W=P[L'\/KNPDW\/;CV8S>(XA2"=__SZ?/_>OO7]?#'\%@8/__N[:2<"[OWWZX=./[S]^?/_#7Y\__?"W3S_][4]_^O[' MGS[^^7__\,/??OBAUBW:':"_WB3O_J?[O][A7NC;80B"X/#NU@^=T/6=X-U3 M^='_\^XN=+]_=Q$$[QYQK_C=(X@!W /O^WS, ,W@;T$YC;?8_UOL;L#6N8_< MC+R_?U>;S]L+#+Z/X/K#IQ]^^/'#L1>U!?[7^[+9>_RG]Q\_O?_QX_=OL??= M.[0:89Q]6^ C9?.W3OO7'[/6'W_^^>_^];^]>Y?# :, /(+5._R_7Q[O&H.L$A>MJ .SU<3P__#SCS]\2)RW M*(RVAP^XRX=']'^^EAQ1_N]%Z-V$B9\<[L)5!+<9N(C2[(,;"%9__PX-[;\O MA\00_0_I@9+##OS]N]C?[@+PW0=U,WI*$)/BCU]%H0?"&'CH/U OWT-_]RZ= M "/XM $@B;^$3NKYZ*^\R0T9TX!Y+AV(VFU XKM.,,:DV1_0@\#QUWBQNHJV M.P@VJ V2CO=1K&KEY;ZA'X>G)'*_;:+ 0P?+S>\IVIC78.6[?C("'N+?TH_+ ME1-O;H/H=12^H(XM.^_LM(F!^_TZVG\ KI?/\@XQ',+X&3I8.;B T G7^;>; M<\"#Q*11\+SP?V03S";''W*L):LTEVL0N]#?X1-CL;I,8S\$G M_RG=;AUX0/O 7X<^8GP''8>N&Z7H/ S72\0IK@]D)B0YX/@SS#?U9Y!L(N\N MW(,XP2PB/B%V__'I?P1>ZF+^N MO(^@"<G^2+9+F&TALY6G-INGPGH M=-'BQKZ(XLCL- 6EV1:*'X$+_+WS$H '(,'$S.[C4X_W39A$$.U\*;+)_<:B M-[\;U+8/^GC*W6_L7N-CNX1@Y_@>NL,LD&H+KU*(E=R+. ;MHY6%M,@H$^%^ M#]#EE$LZL],4J$<[ ),#OCHB<;##9X(4:W,&F.#D=P* ]#[R\29UXHL--(64 M29 &Z"/AEO,M@A.A^TL4>:]^$$C,2'"@2:0^3(%W\[;#NGOCE1YI@[^-++[8! M>M@<@!A!R'8FVG\B^AN7=DG:B7W'IQL)$FQR60+XM'$@D&!Z6L^)^/\N1&W! ML_,FS>^$GE/)'.J<8>8XF[^$H/?4R0J;O9=0PG[ M$D[N:8H]H?Q?U6:%]KBFS/<9W[B4S[8YZO26"-E9L?M/>MN7)9W:5=/-7YY^ M[B!36P%DI\#JK?>6+3L3\;$FO7&+34.@J[;;M_Q"" RC^]XJOT_$1S/H!MM# MHO496+==15H3D!A-_UVXEP@1'D_7O5AZS01&F?RN*3L)9O>).(WH'+WPO$P/ M_A96K1G8 XB#G9 4 M?09PZX<9@3 W9%Q%<1)+ Z'P8],CHX87^HPZI8==S2SEQIOTKJYH@G(#3CI# M'#?KI0%8K-#5,/#Q9H*'BR H H87J^<-6*;0W2"=8@E]%PR9_="/:4*FO,!D MH>-9E)X*"#BC:K+N5/01?^XQ]<$?T82$JKW?L MIH_/$D+?G=J&6!%<^[LT%O)C3J'+9&%$+";]^$E&B9$8SHS9_:AV=C].-SN6 M?;=Q^E);2;.P\D_J14F-V!_ZA?$QR*WGQTM5]L_"HBD]6_&Q)I_7;9IDNW3K M^*$?KK-?E\XA?WGP$OCK#'UYKE?R&6W>BOJ^[#;HP>W#OZ(-"U4;OO?@NKT\ M1R9N-^NAS:CXCFX\U##$\&_HQN&X7H/OOVJ^8Y#'L'%;$>O2YYHT%3$&(:OL MUJWN1I#23QJZ M2^!H)!P^MXTZ%PQ:7'G3P^1\UD>PPZ^4PK70:S M79H4;L=+)_9=)*2N_2!-@%?O,12&P5_4B-$%$MD>)M#?@R?@IC#3!V_>W"#U MD'8#HVUC3L5 ME !.>'AZCA(G*!Q'EX=? (Y]V6V0/(# 407)H*_J>R7'6,GA[^<$!I_^99TB M3:/'J+2Y[B#2OL-T#^^7D5[ "]>X@0B%BI'"IP7$/S]N^[O M'\8F)T?M$:Q]_,4P>7"V@$ 5L=E$Q%VA58.8ZSSP]F_@0*6NW6YT\@K#UBW: M,D[PG\"!-TC[0F*"M*JTIA-A>.L' %ZA#ZXC2$>PV6JJY02[".+[/$[C MEL;T528WGXC8NS !>&/B?*].XA3$4(FE-)^(V*>M$P3E0P JCGK%63*"HTV0RHF[> MW,QV3U%!BTNT+@$S=J6@RF2[B1A!I087A&PFJ*QSE# ]7D4?7X=F] M)B+]V7F[\Q#79X_R,"$<<&GM)R(777UA_I82_P^Z/%89BSJDDMIJ(_.3!)F? M)B;S"OWG CY'KR&/R%K+:4G,ML<"+F&T]T.7OJ.]N_.!XNUS!:$LR"99?BQB6N7<1] #\^W=_^AG7 ML-DA_1MK3G__#IT':8P(BG:Y)1?_!E8 0N#=YR!02",5NEE.-7+/&9H9;*<5Z6R,Q0;67X20M4_CI#U97A MEBU1F:'R2O4"EYC,UOI*&:JWU%"%$I,9JK3TV(@2E)&UV7_YT,$$J4C?QGD[EIVL>+I74>CA MO XB03JY7OX==^E$^"4L$\; )+X2^BDGH_^>D1LPF=D*R=^R7!+X_=KQ]GE M@2T@2.+R+U6$2_&'K[7\.F5N2/(K,X$. T-R^I!?YNA=.@>7$&YQ !?T/SB&Q=P* 'W@F5PZ$!W1*_.H$:3M.3ZZOMI40 M6@*=V!,2>+!)9G300/ZR%/8962Q&(;740' ],UOH2:,OW%T+*Q6GV6)US N& MKDAY50@>4PETU7,*X!1RW:.)?A!0VFL\PAI9Z,4.,F(7#5-8[ "V^Q;IAA_] M]09QR))=L?'B(0I?)-_Q^&B:3I8P1TM]( M+3407)9$.#Q0F;O11,MYFR>!7@9.GN6BE@F:>O RNNA@"XAX-(4'[H8D--1 M[G6AMAS3(-4.%SKHO%Z:Q" E6R)#(M)Z:)E F"DBO_G)YBJ-$P0L/(HZMH 1 MZJI'?<9%'(JLA&6&W,;%D*Y.AI)-$^%O3/-D"&4#.X4FFFM-1#^B#, AL"[<2 N4Q37MB'2B7W7I^$NT%'7 M(53H(T+'9Z>M$39E85NROO.2>5!J$C MZ'":!5Q,/B(#:CDN?*=,'2.B!\IRA&2=6'6\6)+,!4*?+$5(^!1L>M=G@0K[WL+RY%L.CYP<)T4,6 [0D&./&[%@.79] M#SUF@(3EF,F=^Y*'#]LQ4RN6.1&K%4IE^V%"5Q0RCQS%,+"ZY!:1(L+#PZYYJM M'")YKLD&@%F.GB)WG_4;;BQKI_7 R1USC!/NSY8"Q!?EU("]49 Q1S;)22.1 MZ$#+ 1/PAY)C#LMT= MX.22MECXA+\9GX>69P$S4KW,D;,$,$M*19F48&?MT\H3:UVDZ/2'_A\5OS&G MT^EDR#3NXCB5FD+10>_3?DG.$NFI=T*"/,7J8<($F-Q$:VT"X?1:>T)==+^L M+XC+Z*+03V^O6]?I>Y,7/6PLC^!5 U]7 %D>[*42ME+L61XW,"36@GMP6^Y< M4H ==8O::@I7AEEK?]IJ;5*&%REIL+VFJ'Z@,?2O44PRYJ;./?X:+U8-[QWV MVYV<54;$"9D7W4)_QSP KD'^OQR;C8*!=;V)IU!]&T'@K\/<+^0>LC32N$PJ MVCBAE_TKR'>R]U]I[B+AI/$8Z6,Z<_L5@8"\W+3T]EK2.L0 "5#\:OL:[$$0 M9:'J!664";#[Z$BJ47B=2@V3LP#4Y@:0?NG$OBM(=]Y62S(PO%./9P$';EIK MG9ETG_%+'I[!/6^DBLP8)C42T;\J\M _\+,1+W6S"/4G />^"^+K:.OX88M* M=EL]F2LQ,9]!7I:#8ERNMYD6470'S3&Z>//;!C-J,YV\B50D<(?^DV;=(S34 MR1LK,NBO8L5IT[)V*JLHUUN#'W;_1;=ITF/A(XO.G"H OI_'EWQ M[S.2#G$,@@!3$7J?'?@-U/1UFEBF=S! K[SV@S2ANNMHK;7@G@DNICK1;&/. MEB]@$W4SRHZB(YLH"!%M 6+J"V_KASZ6L@FZJ[.W J^7CHG *(Z1JK>BYBFL MMS#!BB!J/=!*;&6SX9%;:ZDG?35 NRG)J2B@8U4#H#0W)F/H(W "[!CZ!=WZ M,*B+\-J/=U%,S5\M/8PN ^1#%$9-IF$+&TXG;>:1S)")E!RYC*]B?;5/*G]$ MGR*TBPT>A?$E6$40'),3@/CF#UPQWVRC)\JK[4G@."!8/70[*M4YICKO#T;P M[U@>=,7U[S0?PC#]*99#Q7/$-!Y6D3T?EB/$<9TTG\(TG166(B/D_&@EV*H[ M'"R%A>VRPGC0?1QS@>2^[2EI2N*V@\)R6)ANCF8,&-VU8#E&?=T2=?@D[?V6 M(TKS Q*VHISSP%+<>)[IEF0G'8F6(M-+WV:Y:2Q_U3!$V3ZZ@RS%2%JI;+F= M+(6%KU2R=*RY@,)4*RE:EN78C*@WT9VFEF,J=8_&W)P-+^\HB)B3 M-D2*?0C>Y5$>X9D#CQC#,$"\C>;YP(B"F>&QH/DF!\18'53V>LQ@K;*!#^>>8' 26NH[R^J+'3_9S#$X(U M?H=[2@"UXD=*6-1>ZTZ-:U1$>)1(SOO.QXS\*2&:]RV';BDN\;$^K0@3'WGK M5HG;J$J^H7D?NBE:BQ2_)Y?_H98/A)^EEIZ6D]%W9F^7("4.PXU@2H[7407Y'P MX&S1?]:":YEL+]#Q_$Z=3VXWH3B%W$Y#':\$E@NF6*E^UYM*E4EDMYV.A1=\ MA:GBG252L/SWI6*548'_TLP;]I$(&;V=KKV2)]"[3B&"(K^!9MD;'P%2:7PW M*0ZTBU<'>IF[C;6=I,?2,&E*L3TF@[/[F+-R.6\K6CK>8#K6CE]0BKV.POUU MK>DCV*70W3@Q:2U8Z\?NJ"6#1+-$#'-A*(W-V5F9',M^6V2W_?CF#4#7CZDI M%N3',6>R.=,HF"UK(&6G;CT/[&T$[\':"9Y D@3YBYMM^T8OV&DB^N2),XY1 M+ERD/N=957L=,8W^YDPNVZK]Y];MKHRC[K8[="LLKHI/NZ#SJIC62AD%2QBY M 'B9D[$L4[]8H?]%T\<1DVVL!#L9MO@/X#7[I<_*5WW-F52^W7K.JMU9B^I> M/D:.GR.*3EZC'O]?7%"*Q)!*AC1 2;P(/:0[^9# @8+:(FL$8R,['Q@83IO3M+^"0C^&@M?T- AHUF_IA2*1SB_HY4*=1GD/;PE>A.@IM0_D M3PTO:N36* _D3\$F)1I)=G[W+A&H-LX+>$O Z@3 G=_##X^K4_LVOIGWY/G4 MH)2*SRN1FZ?>WB_BK\1LGFK\="&$)<[SO@Q0:8 MI[[/CH \@C."V_4F/*E\8<2(RR,^2I5^$CZ&9MVY79:>=P.PN M/&:5+4XF3JH=B0'TU'5L47?ANE&*%@T=HL#?,[+P"'75DFYEM\MM@$Y0\MU= MN(K@-I<6G,Q(@KW5/3XK-,7%:@EQXM3D@%1&+%JSVGL(Y"!%G'\$=^D<"&LR M9"3=;T:PMA:Z?@ :ZLESA-%'$]G[B.C+PY<8DW[<.A=NXN^1AM=-',YZ)Z+J M4[HB_B_;^B\K[+_;6&>^G=H9()Z;K-M%SZL<-:S88Z#S(R2I-;GU0P?M[^%K MPAI(2^:VRJQ1A!I/1#]ETC""I%^&J"^ M!NB6Y/JY'AIZ%]L()OX?+#V U4/C5B@\AB(OVIE=-$OB/!P_LQY)[VG988S8 MV4L(=H[OE8[-(F4\HC,C'M>_I*YCS\&4R8)'G"-YL4(G1#8R^LP])N/>=U[\ MP$\.-9,QVO,/X#7[F9CXH^]0&I:PJE22,UF#OW@\*MC9' V"H$@/UL2URQB) MM%7\?B:H/]GV;I0Z$=-Z.OV,$(D9517?R(E 8F=E(B_C<"QA,[_C\Z9PCB&9 M]+SQH;=TT%ZNJJ%TY9Q4?QU&I)HVLU@=;VS,_#BL+CK2B*]6 =0W;RY&R=< M@TR1Z,XMJ^30"_Y#YE.M_J+6DS'R,+YDC^0G7]<'W?2.$ MY64:^R&N*IX[(K,ER7^A'@(R0Q@A0DNO =FR+=Y/SV3*NE-84M));[12F;=N M[\>YGEG>H ^+ES@*0.P"=$TB>@FXG73DYAXBB,B5AG)_1U8(CO,>6\F\=>_F,&^93U@-X4P MBYOK>>"2A]"C/WFIF_SF0.B$R>%8V)BF+)$:F[,R[3BTK/YW+]-5;0!EEYL" M-QQ,%N'*ADC3P@?V9R=,5XZ;I)!,J,5YF1])U(+#% N_+=8(B&9VZIO3EXG:GO= M BG:,^S3\AR38T:&=L+T">&4EL,K$H[9 M>C$D#;;E$/8/!^4_Q5**F5$OL?H';#8377/C(.?)?0+!DPT<)6(2K3_!5:M! MC?A'I>E(342OK_XC%IQI;X+;J10=9M#H7'(K#]-VF,+5<@C5:#OC,/L\H9=5 MF9@QU]8?3XKT)>FH;\MY4[7.)!99KC33M(G9ZAW=;GGN[JF4+-$X>_L9 M6(W&Q3SC+.=99?8EX2<2HP :(1%F-* #3$_LO,4S8\RAIJ?N>Q#KI:1J[8G\ M"$5IS0038>RK+,Y\T67]FC15STXX/L38%M/R93WVL93E48Y_LHD_0+(=9]FR?^JG;*/!; M=TJ)/XRSG)U'N9N*O<&SO6!6_Z-+X&6?Y>!-=4U5\>Q0Z5*8J,1.>N2-P]K& ME716O?QF'E0VKWC"* M7DMYVVIY;6XC>M5K;^15EI9UL0#:!+3H= #[S/4 MBH3IH ?HEI<&GNXM!N<-O.TUA2=C=OH;?;7UB>A$$ M=Z&'+92I$\2?P?:EDRV%VDQ=_07@A/](PV\!@$0**(W4Y7R/T'#)<@."7?PY M@M G \%NJRY9IX/OW]\^7T71-SH=A%;JUL.)G?!BZX>[*&6M"*&9,AH^._!P MY22;PR78A""D4T%NJ(R.?T,KG/A.^(!+6=*I(#531L.#LT;2 #I7Z+!*OZ4[ M)PA\.BF,UKI.')ZDJ1[[=B5!&>3[O5)=1^_;7F$\Z)*I#(":)2PD$5FZVV<) M"%%BEWZ;62)".3]* _8L,2&>9:6Q;Y:(L$[6TJ(T&C"3EF"^]F,WB.(4HFM8 M[$)_E\?7ET&V'W5<3WIEU8-K)RR>!U1%I/.<%G TY0U9?FU E4,[:& M5(/E*M:6%I%\Z<1^C-^85I0_HY6[#.AU('L,I-N*H90AZF:+/J!.D51*D]AX M2K=;=*8N5D_^.O17OHM3&>3A>GZX7B+871^+M< ML+/NG;(VZ:RHQB3\3ZN MUI&W?R4&T+V'>RXJ/^Z+#)?%F_L1X!@7-.0=?D)3U6@9>5O3DJY'\-L*DU&X M@ Z4;?\);1L M/-'>&C8AAS3>AA3NKGMS2BY@?:.*0V3=IJWVZS)/UEYF9[_*7\"6:4=/8Q,7 MR"DX;A*7%>_D:O"0G=MDQ+> MP4IKK?L$98/?S+9%F:]U^ZAEZKV*MEO_>(7 ?BH_7(/0G>XH',RKC"D([SRY M,31L2"$">?M4*'O'A_W1N7O""-!_WB M6%B\Y1Y EFEY"6 F=$[F[GOCP! I7$?">5N/UER'1ZE%"]>!1&VO?9-Q%J'A M&*+/VKKMU;H'UPI^GLKV.I(L$% M&KUT8')XA@Y2KK.D%J<36$&; #>=1F87-C[_EM87P?U'=&/0>.B:0%TUL5U\7XFVQOAHFA:N75(]H.H_# M1[L:*54<0MEME5%S&\%7M#DS=]#3#FG:3'H8K951=(7+X7W\ M>8FD!MCZK@!*G![**/L2.BE:#%RD+P'0WQY3WM?J_ J0VV<88Y3OQW9%7UVU/;#W8VQ$RZHH[/THC8/# M71RGP"-4:!#@UF$#*IO7/Z.7^,*MV9MN N *;CCAOKJ-J'(Y^45-/U-83HT' M3=#^-$6V0^.QHIFYRF*!9W!XQK6R?N 9*7$K7EEB\(R9N)&P+$)XQHQI@RSK M$IYA8ML[RVJ%9YS$3*ME$<,S7G+6VP*WGU7BM@?P)3I-Y#BFX5(GG;<"+VB" M+L$Z:_"]3=TEA&<]7]!X7@)V5O?[&>A+_.:M^G.< R5(\];UN3Z+$J9YZ_I" MCI02JGFK^_T].R5^9_5_N+NHQ%+IE>!DL93P.Y4VV7E?#E2XODHDYWUSD'2V ME:"->EE)!<2*%I2NF>0)[ !&W8*?7,X#;HHYA/2\(V6F@"MGYR=.X/\!O-82RM9Z&3RL[FW? M8^&;">V'PFJ=>&AE_"M*49Z4-#B94J>( LQY0BZV_Y?J_0E )/&:Q2TNXZJP)@8*S*9?,MTKU'4JK^&Z]CC[>BR0/*\%AYE(/ M>B:B?CBL_1ERC .@FQI"UXL2)\!6'4J^A].Z % F@?CDGY$?)K^B?Z 9\SPJ MLJ.8D[B96[>,UTW964?Y$ND-*_^TZS^8;L6T)T,*)&*Q7^(KP' H*UJG^;>< MXHR*V:(1;9$Z"H>( <3AQ=,\8QTB\0%WJ]IF85 MF3X"!_2+31E:HWW9C#;+[>],%3'J[;?<*]![$)_E^-0 MOHV^\#P_GUKM[G\-$L263"*1:&*TUG&2-0LV/Z-/7;SYM$*P MM-9F$'X=;1V_77F7WWZB-$U7^&$L@#M<(OS!V9)@IC:;B,1'L&OOE38Y1(SE M^NHH5(O&1N=?):08/$YNJXG#T7GMP -VMBU6F0F&LSG)[7407Y& EWZQJAT+ M['W*[ZCCAV.(]-!2>1;Q=I[,\QKI MX.$ZM]=D.G;\ %ZSGZB;7*RS_@.9R1GDMNK>\J7AC>?'4?@ER>ST_X@"#]]D M[D*7KBOR.^F)NW, MP'+/]T!1@BQ+'@*\15B3_?SC0F ,7;M]@W@)76]SGS(NPX"NNE7.=]96Y_34 M;8CH>9^LXM68%SI+K3B"E\:&$8=V31L#HL (&Q?G9LI!I]0Q[<.'=Y$#0B-2H?5 ME=0^7I.X 3?+S(G=-\< S*A2AER3,4.GL)>K>AE^JR09_*NVI8*JIQ9/.4_' M\*B>I+22L'A8FF1%@K'H=P%+$T"U@&K5^JL[((K%*7#:$&ITC2S26 &"4QB.G^2=UT.(M*6PBI/ I M2J.I@F/P$4AT'[9_G8B@SW[H;],ME:3F[U.B1 EMJG[3P%EY[8%;Q\VNJ9TD"FOP&>'] M5YJG5Z"K5XS64ZE;SAM;W6K\KHSQ[D(7XGS =R%^T!Z%-6\.3F24)@B8T.M& M@$EVUG%5>76@Q[D6-MOHV$_D=[>U0('+0]6F>.*;45V1'GHX2RPU>G[43VE1 M6Q/T9>"5[\?0#3/=IMF+Z&NP0E=,FD 7Z*AA.@\@N7+B#9+L>]\#WN7A2XPS M9QZS=1=U;GUJR*[$ #IR0I7OS+%H6&06-N:A06^O0S5#N-*4,?R3%NZ/$^B[ MB&D1_DP-TI%GY$4PY*L,,#<^^@W M=#$XW/M;/[EQW,V_IPY,R#IDOX'4J;E[QP^P5>WXK8L5^D#I-$,('L.7T-]R M(S51%>XSCHYW/3@1Y'T4KG'9<3]"?.4L,O*\Y=?0N$I:1I/D?8=3N&MP6B7TF;OP6#:>O"D([911L000>V&< M=9;%)731%'/O<(S^G4W^T8^)&08%>VI@%7J2;Z1\K-+@WE_1K.M"7?78-4(/ MZ;FM9%PUAR+=SL'KJ(Z7VIG".C!3FVDLJXCM)F$*CO]3)A+Z2#UB>?UTZ(+5 M#7?IP 7,S%O>KTZ0@C*#!4U5%.BI\&W:RY'O"N!P;CKL<,-G"_$-([>/!K@_ M1R$X?';@-Y#RY;^8LTV400"P_2!F"T5FAH M*Q6M^ /;02"^L:NC8RD (@$4]U7QUK9*8[GGD900!HL9Z?S43_@HIXEF\H%O'RK, MP$#""=X-5[$4$X;JWXR%L?0AGO@IS4O/8M&S3K&C6C9TR5Z+49AHRW&" M-0N _SPO)4K CEL"8S$L]&M-.XQV##!.0C2S,"M ^8OMH##%M%0P\ZP1&Q)$ M70#WUUD*HWX!VP5D/\T-,D;8=P')S[/PE'1 MN4\@2J#FJ9E+/:\HH5*JBY\,5(+O.TJ0E&K?)P.2\/N1$B:E&ODI75)$'Z:4 MSKMYJM["[UU*F&:LB+,>W93P*%6^3V&[23S^*3$:5>F>-#MME9@V#Z3]#!!' M>!4:-B2B)<\,%_CY9^2'R:_H'VC^O#RILJ/H>"%]K/2>^;60QI^5^T D/H(L MWN,JBA-B8>H^(TR4=JLBB;P"W;\"P"BO/&BXB:9,HX&:LI+30=D3R6?'WZ3. M WB]0:)Q34Y$RFBH=4M0]F_G2*#N".X .C*"$&DZGES8\ 8RPYN44"/U5U?! MUSGL[P-&'=9F W4/CG-W;787\U_2S/Q(^CRQG;K\.L%NXSRA[1DPTDBVVZC[ M^O$T%T6#TT/'NW8DT>ZC.%Z$M4U(86]RV_.+<1&EN:?6U+#.RN@C=KZA4*&] ME%%P/+7 3@3%E*'C18ZBHMB'S0"EOV2H8[=Q/;GP7U9R/>3>J,',M50[["65HA M3P&W27DG["F=5SDG:J%UMSBLKJJBAQ-_X!*QZ #%[G4_S+X,:V?IM-X*1NKM M+""P>#EWH'@;.(UG5I%-@LP\8+7R].&/X+U-+RW!ZF'.!)@5(]A]E.:-;_ C MS6C.:ZV#?4L!D(@< G7P;)'6O$71! MM,OL!7FH!:_4 ;>G%C8)@OP:EHNK2Y,2.TFG3M1I MR)68^TJ/>4+:"XR 8B" DKTV=L$3OK&KVF>JI79,*=6L&2O=.(/:3 MQ:K,6T2BB-7\5,M(#8_:*Q H/'[WOO."4ZSZ(+Y*(=[M:&<^1*&;_X,6NBG.QF[ MEJ3J\M!M7#9CNC%4?D)3\7=FY07J?-OMM<6RXQ>.40C::;B)<>OMMNIJM($$ M[05J07IR&U/6NV.Z$5GT^P$^&O,J?"EP>K8K3#Q$">"\$.-TTNF[;>V7F"43 MF'UT3$*XTD5[)OR.ZEY6=&IK=%F\TT878^<0.DH*"D3XO)OB9R\E(:12IT-&TFU*'$/'EDLI:Y%G M34BQK?+&='1.2\T=]G>, /Q@U3V%C@&9GL 7R)C3E8=^NY])_;%QIQ;JIBR?85(4.0%#P1BQ'#:BUK)(3/&DZB1 &V0>F:) BBX7*WZ-%V>^52M\K,Y KV V1&,1&L919>?U/FOXI/M,[@9L!3/ MY,DY,\7[*7,M_>/M&3KN-P#I_N%V$XU (DWOI7A*CZ/$V(;^RB_>5F,>BO.ZIA?Q8E63X-=.0F/'X>-JN8RO MB^=S45BN=,4'%ZX+4YPBK%'8AG(_EQY(N_6PI[&H;H2E6F'L]8,*VF_J*#$L M)?;A1+&TE$EK6S8/2T-_B(:4$H(&.O8Q@(R]AB-+>AE'+&4I:6/)T>_3L5W, M!"$Y*P@Y3:_HT6CO-N::^2FO-UN6F9GP',4=Q=.96AO87FX:HG2V#E7[(L)X MJE/3CFCID_'1U >.$=-R.%7<]KA7'WOCX42YD6URMCR3T4@6A1K08\3!G1:# M#7(06)ZB71;#OCX'R\,*96$4\V%,$45X0J 9Y(0HE^8OYZ51Y2$I$/WK&='> M;I8"PI_LCCJN5*8E!(&/"V# PT506D\6J^<-:*B3YXCD('YG<>VAI(=CNE6A(7]C9\?-82S*'?TBTZC]%5#9^KJ,G>"0"]/.W('S6# M$\Z!F.= S&FV79'>,6N)#L.=XWM%1F/4?I%L ,Q_FV(W"M.B+DS1#\ S4N#S M5-A8#F3)P^]"I,X'03:=4GF\G#MOUWG>7SRC[-XH M?I0.^,:)<^)U<;E#4YM,]G>_>>(@%H=9[8=L,TUWC':^?.* UCBD]N.TK%G_ ML(YT@+D1)S[6,RVG"6)67#ZWFV[#UCDF5I>%5>EU?8;!1N<0P',(X#FXS0C668FUV:-.,^@IC>*R 72^V6]N M45OE\526-CRQ\*R9Q"EP')&-WR M@+_/TK^ I%+$B3^?F#9.G -'^6;WT9$6'#H>J*B)_P$"7%D 5RA@!K[Q^RE3 M;=%7?)!_!5>/*$K-+]%1WXWC$>B@D*X]"%-0LV.$-V\N$A"+U27:Y.B8H5#' M[Z:!$4K.+%UHM;5%+%I8NCAZK)6&@^"2,(1I;TU]Q00^TGZZC]"59I4%7 M;G!61&H,C>S6$(1B7$;LHELY$#H,&ED&^8+7\J@?8VY.L,(R2$Z/%;B;= MI&TH?V;"_9EZM4-(ALX:+&&T]V,<#WH7ND'JX:.T)O'(]SO!OEKN0W7%(/.- M(GT3H9FD,"PK"Q9::/E7ZG6IQU *%RC/8[=&4,=)00MY-4@-=;S!*;D!89+I M%U=(#OG)?83=\;0'.,P^)R/");?4^=K3UK#Z;-KSA:C!?$1Q<;X"M0*&V#)J MBJN/24H6RUU1U^]VT$D^V@8\ M@G$3W2)/@,WK H_&5)8;)/JB1.!AI4>HB6Z+OEAE&V84\Y::H5 M?L!4>(;,W-A)H3^Z6)"O!\F\VBBF3I3%>_G#'%H17HN/% M2>]"&>,]8F3VNI9;ADV@-'K*L09[;'1%M)CI@B. M,-A:\>.I6"O0M)SU&H)\:7'M[VQR+!L$LXLJY3N&28U\]*^*=%P>>0DCG!=L M 9\ W.,<8EV; +79M"3B%P'%UV-B71UV6W4U1_)/5%]@5!:A-#V;0T;?=SPC M![>;AJF0H#W6H64_RA/JJF%*7T)$0@"\6F0I>R*,#KHU!A$)7U:=)XM5^Y(X M"\GG*NTM373:!XP"^P";W^R#C*>.M/86B=_L T7VF*LSD-AY8KEI0U1JBP-M M;SKY/DS&.N&G,"%HNKL6">_+5\J-9/B-\L345B<6J\;*\%_.BWV)D!E!V6WM M5X17!*_!+HK]3B4T4@LM;]+JP+#U8W);?40_.V^,=W.U)LI6M,P[?!7%R5%$ MD1:6W% Y'7BT,UB2VVA@ENY.I[ ,H:'V M#4F45/UEG/93OH09P>Q>BO0;BY!(X../[?>2$I1'U>H\#.8B7+?'>)[I]I4$: MV2:O:??> R<&\5.ZW3KPL%AE_RR@/+%]6EDK%SMTTN.\_-EL\I3J,2N 1:BK ME@>26+][0F #7%K@OJB*QWCOPNJA80+WN#I4SF/7(':AOQ-YN,'KI!V..!Q^-C M0D,MT5XQ.I#=#3K5K\$>!%%68J4XGYAHB_34M3$9L&M%^PEDR9P19)\=^ U@ M*28"-;>;CE)8(,2W?5Q0Q=OBY_<)ELI[(#(?L;ZZU5X9=:?YAIRA4]@;=R*H MB31,(80SWW(_ 5EOJ(,BQG;V\I& 2BZPV^R/\Q)2[9I!7ATURO+-UE>".UW'$IO?>$U&S+0>O!6EV.&C47SREQ%/\J8;E#7!HQP1N+Q4F3 M6Z;HVS3)WE86+T^S7\L2]-7;TU,+/VT>]644NP_BCF#Y1]$V:YT5^',,G M>QNE-+N2]#"F3Q6=3BJFBH*H7*W0^*IIO:S_I(!F6NHH]7+G!VA+][?\ZV(L*3G<]I;/)%-USWB4(=#1I.K_ *):>2M[)I&E<'I[19QEO M7D1ZFC0A3!3SB8-(3UVQZYLH\.ZV.QCML[@&]I,'5@\=A6%=-]VF^"&X=PW0 M,>+ZQ7O470 R%2+TD"H-$_^/[._49:#,5MGP&J Y?IRYGNU6)NTJ>@U!9A<- M4W@&[B:,@FA]$$.=WEX'\5$4Q-=(W\6A76AGLP4 K;4.A29:):](O:\%.+)? MM5#;Z[Z"".N9Y+A]GCYG;TRZN.+7S._ UJ\L=U=)Z&5"J-6UGQFR6E?YZT04 MTU0L>]&2O6P*,5J=/^V%KI],4Z<)6U^BM^=.[JAVEGOA1]G"]W-XTZ18*YFL M-+2)D+'W)./B97E$1U_ :)<]R^,U>L+%N&).$8]AEFO'CM1O%GETZHH>A>Y& M$V,W(;/63&.24US-->VZ.S1BN/:11I6_%L<[+O1^B2+OU0^"XR.Z=C,3-B"G M3-XC(IBIE8_^>L-QB?%Z:77UWZ%MOJ(C M+^;P%QK$+,:\/%1,Q7 TRXR@(^=5(?S1.= 1^\=S@Z.YR(UAUBIV[LOBRW>O M,X"#01BK*S=LN1P6UE'V& M::YU!*640GMYL9?J2 XO$5L)>Z&445 %.7$>@28][F>"^)'%J7TLR%,MFHKZ M;!S2LF=#2SFQU_,\@JBB7JBLCQ,951>Y[P1"*/546\N.WU_%6 HV]6-7@8_@6R&V-LKN=_7=G_]W9?W?VWPTL^<7DKOHZ M=+27UEQ[#:7CV6GM(M2-R*$=NNQ.RL[8?[RA$]S]!B#]6&TW,6OO'Q.$-QXL M *2L>A_EY0!S--V:?D]U[ECME*U/V6_[Q]G)RBU' MVV>%1G:"&>F0.+[I.:I#Z"ZR1U,_,:?$+,Q<)8$<^G62=AM!X*_#//FM>\BN MMT'&+K\@@79/#SR7&,!W30_NRBUE%.YYR#JX@3R3^<5Q!_!'H0I:!]>C(;*Z'@$6>#;TL'9$/"G MG(!(!K&=>C2V>"4R'F*#46^GHUP69I."F!J;<$J8L3OI22XK-0.CB%_"R$O= MY+?,W7%DRNS6Y:]\Q"3,J8CV-J<6FR7U\0J*CE6F%ZM;/W1"UW>"911GX6LW M^+"(\>E^[\?])BPQO+Y]E]?;?G;>!/<=H;TNV2W MI2X$1:"1=0U+;RVJ&:VA&5F:^FTX9J(*FJ7)X-0!R,=.;5XX_6\3U&$GK)E: M6IM/X386*WZFM":?$<7/IH)01@U76JK/")>K STRQ)3UX'0RAK^X M!P6WFW$K4OP3<$CIW-FQ8$X W= M3M']%MV](+[B7H/\?_O-E#&><9/OQYQ_TA[((Z!%##&GC5R-_*25=1Y#S2(H M3PG_$:XW2EU8LV*\KC9AJ5>P)PMR]0U;$T9-Q8"5>J042).2ODT&)4LE._M= M!V&+E+=1W*^DR.63AI$I7Z=PNVHR23XY:-*+%:X[E1P^@V03>7?A'L1))MWR MYUC^'\ [.OMJ7H7;"%+ZG9B5DC(+Q O_C/PP^17] T'%LUS*CJ(UBQ:%6+'L M6*(Q1BR#UT)^6^!4_TLZ2!/HO:8+E M]G.$#12H$U(0@DP51QH*H$;3C_0Q#; ]@*2:#&6VS3;:UY8B8>XK^8RE _2X3)5<-X]"Y0]I1 M2YMI9BA:W]Q1HR;FD<';<@?#,-;KO&@[PT2"J7&'L/1-EDI9IOXR8ZD_00WH MK:O0&(X#([S48[ H]4XVAO.@BZ(F]\$U>$D,>'$PW!ZX04+D&< MGA#.(,FH ML$!NJ\.(V2:$6:V$UEI+59(7)&B0=IIF.<<9/@=22RUFR>HA>CU%^N6A\42= MSC,2 VB>'I.'" V5.1&6@7N)1'?@'.)+)_Q&=R*0&VIB8^%LCI3&&LB^0J>, MG]PZ;O:ND[G>Q*9ZW )1L$>*7),@9A$C=A\-D[@'"=(4%ZN<'B;MQ*;:!75' M&V(*ZWN=#K /LT"_)06*:U"$,F>(Q&?B0 M23(&T7XK9-T%&M9#FOYM;R4#AN;>- >*Z\N6&Z?INO71?431?"T'AJT]-VLL M$9C.YNU;D5M/R5+"N$I:CQ#$9U8$B7U?FE,UB_M+5 DL[.D;X^6^YL%>8JT(4>N'V0,*-(,1;^C6^Z2 M%V0F*KR6.\\'LA7++C(%BA>GS8730X>-.7V+P>XH#0_=89G%< M\Y369A#.=L]3VZM+#A;'((ZW=!AIK4:B@(@'O9W^[%S'9+B=LX&=GHO03XW[ML3UD#N Y?."-U&YH H'PIDR#G%#$L@M]6^_W")N:,FRLTO*M)5 M5Y6<;LX*YGJP^RC;C7G1FDKNDC9CIXVZK[_LJF')>-#;Z5K(*MF7U%JRNJE[ MK0]B%_K9I7.Q>G:@OUK%97*\7-TGP2O0:QP*'\'>CX'7CU!F9]WV!MZMLFYP M8%WC+'K*D(1+UWVX2%]:6L8]/B7(TNW&?=B3F D M^[W!0C<\GH">78 3]1IYY"'"S6Z>^(B$[A#@M'?'<0VFC(-^;O*(?>-EY")N MRS'+]Q[?^=&I*T6_@EN.E93:1+$+6!J,(:XBD8T5EL+26U>BWNCLC8'J(8F8 M-J29LA1=&(E8M2P/[Y'>ATS5U-[PL8',Q39(CA'I8S9L'?:B&J;.V,CPX"AE MLT\C9BS/.WY8K*XV#OI;?!>V\'I$5,$].+5$XQ;Z+:4J39E>=X]3],R\8F>J MBIR=1'$S!:SV]4?#CHK>EIR95>!2"EJG>(^::Y1)Q7M& DZ@5,\\;E=#D42" M:!1UF%281U=IF21RO[T@UD"ZW1;7YLE7RX+G $\;Q"V7G9GA!5YGJ7U1F*TM*?I&H)>F M($??\]&5 M<[6JPR0CCO",CM=1!?D8 382]6HL&Z AVUEE[AQ,D5# MQ]=1YV&Y8$8)5K_KR 9V%.W9ACXB6I@1L3LHSO!\J>')N]<.'%1+VLV>0AH= M_2# Z8N;/?$459\'K$]I@"S?5.RW6\TV)JXK55Q4I(?>,G!":E&N43^EI=PX M.EL>P2Z%[@93BHC*%0#O.H4X-7=^C\R4 !H4,D.8R!6TE+8=Y&TR9;S2^@G\>/3%TY^3E8?W;<]=2K^T2,BHE!;'F/"U<,; M40(">J^] 5_*U>1V 9E'2Q&5/@>U'4,+ 8VA;"E8 M07N#\0P[ \FW=LL3GXUI^6K&FS+-!&7 VVABW"A':/;7^A]NWO!_@E/SA58U MU+:[(#H \ 3@WG^KP+X&L0BVB MZK,#OP$<6B4QU1V&*7< MQT\H8<9E<$P[M-(5LW<)1E)I&N90067 HP"5 0"38[PD54K(:Q1"Z"HWE MK#39N:1<.ECN5I+F72']]@Q:ZY#GZM"6OTV11DQ05;>N;$7+*+N) C3!^.;W M%%?-L>%E2N7(PO.[/&3I"03#Y3L]M$24%CRS-2DXGS=BS:]IW&YX?>K!*CK/1)#758A=DEO6D M6 19?72X$_)SB.TE:372SA[&5Z0_B<;ER4?1G>G3,8*26-J M9^W3J@=72!PL10<3'W^]]#EU/:.5C];L*.8YX4M-9Z7^@OT>[A<2:U MN5[,637@.LUT/3;-%[D;I/P 7K.?F,],^9UUZ1@%\PIQ#[6]GI1<+@!>? NC M+28)Y[B]0X>&[P3+]"7PW<4*G>NLY1_< M;OTX1CH7L2JF0"^]@N<*D8!$-RS\Y2[P]\!;A+4W;GQI)#"&CH):NXRBHTV? MML6[[715_RJLZ^RH-E++$?01KQ#=!(G":JD!NF><1RR%A[H"[?Z>XDH9GI[ Q&8YOUFRC>V27T>$,W\337+B-[T^#,M MU_8"1+9V4QZ1=X62O<#0[>N-*"@,$!TOW^!T$]S1Z@;7E @\[.UN<3$N4%$<,'JD1(F1A48K MB8N.<"Q&"9>%=AHN7,)!("5(<[X82@:8E) IO2N>&&2$<)42%J57EE.#A108 M4P*C5,L^I:.-&:Q3HJ-4SSXQMF$&!94 S5[-)D4>E>",K&EK>K[] )+[*(Y+ M#="&M]LW#@S1L5'-B?,.D-9<61#A;02SE+C9UML%?IL22B/=NX:'XU'N$N8W M1OB$J7NF\C!A0V.:%!E;+IW8=W'Z$3](<1G;6H_SAIJ*=+14>4X/##^%WF8; M#43^!OSU!K'(!>)P9PT>4FQ)+E*HUUUL&4=1)B$WACF3+':'Z/M&V5%T/#YO ML3]KU6(S&60DQ=$886Y&&:(58$>7([S$?)7[(DQ\#T/@[\$3<%-LB@;QS9L;I$A9QB;\AE)> MH'44_B>JD?>>?YM[Q#*:*?F(CHPUP^B^/) '8.6_&?&+!JB%)W3S(P/)31_# M[::S.@8VL"PR4:Y9N_+-QDU6_4BVHNJZ$%+3'_>/=&F\1P8AY=2I90O M*PA/HV;#FOUU#X4RN#R\+;<[&G\6WH];0L'D?2#US&;,D@F:K4R/Z/_4*B;E MAJ%GYPW)5%.C(6*8U'1I]*]*CT;_^/J(G[@0->?VKZH4? Y!GYTW?YMNJ20U M?Y^(J P'@BVG^9NV:HB( Z^B$ = @M ]\.[![#XZ)U$$*5Z"$*PZH2^\UH:@ MSS*3TMOK)+Z29QR;':N'#EO7:@5'?>(4F< M'S*HT44<@R3&$7O'RDFO.&Z?9B%3_!4-0'T)X;$D%"*MV# T\4!K;0[ASQLG M^2U* ^]NNT.\=URA8FWDYL4;S)QI'QEP"9":D5WD0N\N1"H\TK\N7!?2$_<. M&5&71DK13K#B2= 3[+N9$O6.HHZE!;@**:43Y'/2:= M@&+YH[>=R"Q9P%[_/#%BB=U62PD4=/2'2?&PW8^_71XXU>)8/4R8 ":&7;61 MT4/':ZQU8Y]]^!+L(8EHXSBIJ*"=P?FBD1&=JZI5 )W0\;KYSK-P)K M0VOU>Q7-@D&+<]& [2%[9VEGZ"-<#JQE%MG[!5/T=O"UG,'(-YGC$4X_Z^>" M"]/JSKBQV(X/Y[I#+ TYHKO:(&@$C*]U= 1N7]:*;IZZT[S76>Z*IXMBH7O% M7-!A"F3V17LN$,DP4$M%LCP^@:WN=,/.;(TOX+,*:;_-+TZ@F1'3"0]/SU'B M!,7MZO)0'=X7$#CG (+ PABX'Z_CO8?LHH \)#36_RC(K?XP]\]O?K*Y2N,DV@*8/]G%EZ(X!NC_X8 LRGSZC#1?YY;< M5OSU@;(5T0_*,F)G10R(CJ?.SV>GC9$JD; GHB[BK;V1G^V"*JZAO0X(^WGJ M;#,<+'SPH69]GN)!MU/;K#O"+-+51Z9)R:PID>XC"/#SQJ4#DT.MY!@KU8G) M%_-G3--B=1=ZN.)LZ@3XP,CFB">U\7?/T4V("#]0;\"R(TQTB;_V(7#14-3H MK%8#+?#5?FZD5(S&C-'Q2I'C:131QH_&%I&:$(@0>N$ M_U*^+;H\=#@.M\I$JB?0;*)O+MP#^($,UKWKP#@'&4T.^N0 MX2::,HT&ZFG$Z:!O+R'F>8A"6-LA6)E,6;G017J:-R'FJQ:QOIHEGL@,Z@TU MD\O)\-QIJ,P(>1'L-LX3VF !W1+9:6/.:88.Y/HO_(TH,L!$1@[T<,F07-&.KS:.CRY&Y-S[ AV4,>Z5$V]*=8W$M(W?U56Q!#!\!9N; M<.VL@9?'[D6P!RY]$PGVU.)!B]QON,8[\*Y37-)]"="5OZC35.G&=:7V M-H(KX--KHPT:4D<1 ERZD_-.N]E&QSH1<:M=;Y LZUQE,JHKTM&])G!";@&0 M43ZE;!,^16FRN7>^@44(F'N.W% 9'5]"9XO-T7\@""#8.;YWZ02$A(N8=/BBL5]F3 N",C)#KJK[SQ)427_L>G+S(5.%I]E(&] M+.JZ%P7T5D5Y=_Q)$L2LYKJDUQ+!1+VG5PW4N=BK*H-7SLY/G"";_S] 0.1* M5G,]>6QQ*79P#?+_O0NO<\=@9JFOJ:T^B*]2B+T %&S[C&3*A)\C I$R\R0/ MH.4I[W$'BI;Z978Q80JYDB=*?=%:G4@\AF@7I5DW4>"ALX,H#VEM=7KG>KIN MRF"*MH/$WFR.HGX6U;PBZBAW^:0#@4.@E(\\"SOUC.?B,&^ M&7PE9!:W'C>""9T 4\-R;1\FXKZK8PA-UYIN'RS]+?(T%K)_6YV")B(M#6U- MLL[US93'J[3R/A.LY.XP/ ^3O:G!931D@L_+XJ!5R6-7U"MG*6)6G#)">L19 M%C0CV8>YTQ3 K9TRQAJ=GHSE M.?C'2/)Q]:3D]K:PPW)]O%W;RD@&.0R188;G1M@Q.@S1LGU=@!. MB;)-^M7IRAB*F6R,K6#&$DD+#V;05H'3GVT5&2?%S^)+/,:RG1Y[DP+["F3^ M8BE#2^]^9OQA =9?SV -BE,LB152M3;6B_YWG\!CM3:#-/?N"66EV;H^":^-J51W#GZ9-^6 M\@?6^_#E&@MN=.C$Z"C/*,W#Q[RF]EE+6M-BW.W;#ASZ#?QNR+WQ>]Q9&?U0Z^-ED,J++K M$\7,RKB%V+Z755_;^<&0%C(H_6)5AZ-SG[$/D/-S+R7'*:.H-/D69[F4HET# MZ\B0]J!]3#->GA-;G8IJE0=!MZ,]##>)HD"]4=B+Y_E)U4GL=**99C8OKT;8 MZMVCW-XW4J, R0\5M_"=B=4/)N:R]57(YY%?0U CNHH?\/]Y0>3]Z_\'4$L# M!!0 ( /!):%>I1.)@O @ ()' / 9G1C:2UE>#,Q7S$N:'1M[5QM M<^(X$OZ^OT(W6W.;5 'A)P.Y)P/)+9;K59W/_TBBW3'-E1G/['N6' ?OUG72JO$6?]SM=6H M-;I'V24(CG**[E#[,V;L3(E_O EY,I)1F_'4ZK_),-:)Y9'MQ-SW931JL_?Q M0^>-8QL70ZQXL%49^2*R[7HGT)&M&OE?T6[48]O)^%6MCHMG 0^EFK4',A2& M78DIN]$ACPK"H;96AZ!U7+F2HZB=R-'88M8NC2]F];322?OGNOOI3,?2BJJ) MN2?:<2*JTX3'V7130:/;0ZW\5=F^* YDF4K?CMN!M%4/E%@>9.@_C.506I;I MDCB<=8_B;U-(X_US0CRM$P_,1;(C2CGOWPPN/UV>]P:7UU?L][N;V[O>U8 - MK@L-[8",[*76^F;WW2E3W=S]UK]EC1:O-HX/^"'K75VPQHF?7]U=7?1OV.#7 M/KOMG]_=7 XN0=S_?/YK[^J??=8['[#K3ZSQH75<*2V[:Y;MW;+>Q?7O@_[% M,@+)D Z5K7J3C.=LV[OYV+OJWU:O/__6_W=AUF:]WGQQ1&M^>T13(GAID(]T M$G+U/91Y66&W8WXO$G;+?6[DA(<5YHG$RF#&[)C;]HJJ?#G9K"Q?FECQ63M0 MXF%-5?])#7$L)G9$56-Y8CM.*54L.#3M(3="R4BLJ6\A_G'MI/7N[8[J<[-& M9$1KJCK%?,447]#9FCK>G#5JA:&6+)31-.KUMRO"[(B^X']LS">")6(BQ53X M<#EIV!\I%BD2-<-]*LR8CM@G3,D:]>J_F [8I\$YN]6*)^PR\FJ=N8MBZ?EG MZ:J[ZZK-_735C["X3ZX8SMA]I*=*^"-1R3PV]U-?@U.D+:-17$:,1S.61C9) M!<3G)I\$] M'\)@2D7+ICF(P).)EX8@BS <$)+XQ1-,^ECG!,)\-9\MJ*/&X7WALO3(\"A;("!Y/X%EX> 5@ M!#D>)TO/91200%:"CXP\E?K@"10MN7,%")24C+ >0_@E7"NU &B.#;,R-23U M)3&N$$6J0 !4:D#'36>\G^ :///47DP,K[QPH;>@@D+@\,(?.@2\93X2#"EQ?#I4@EV8" M>ADJ:<8T@LA"9$W*G'2-I7M*FQ3C:.)$JPPS<:(]X>.V80> B"^ N0P'_0=O MS*.18#VDJIM4@<+M )P*'@T M$:YHF:NX!@&5O>WGL9H#BK#R"$(E?'\P?-^=-$^;IZ?OFHU&ZWV]15 ^X(=[ MB>4+86!0.+:K"9]'787*58^G9OLA5#<.!1"4SY15HCI-P 9;2*-RY.@$I'C M0UL/BPR[G*43H;B#9%Z*+G!5R3,X/93(MI#%:"5];IV@0R-]R1-)"Y!9P>SJ MAH@XI8:*6!?$C*MX75;51D @BRQ.@V+X@/12M)TH!K L)\2B&,:(K+1>[@CP MUU 0(6R(\<+?(C^7F-\CS ]? ^:WSH-KT-\^@VX= 1 U)M(G8'.C(TZE C<( M"M3#$MIYXA?(0RR0?"B5M#,JGS=-2W'(@=3A+PLACTB7>F!7D3SD"XK3) ;^ MC2OW/4\GOA/ =<,C$:&*5P@#>")BBB]$@DX_@SKBD(Q1%)1@?UU@]_83[/T) M5ZG+@H0$$03H5N4$/FPV=)VHY;?(Y]GEYA;4H1H#D8M-UN@.=6J?GGN;BH// MJ05U\<'SNU!L6.P/N$ E,AU G@XQ+X'YJH#I[R]VK]!77J"0+<%? M(GT7D)YOD9W\WVR1N7>A?A$4*HL41AEU&:2+;$9@^XKR?:UIAEP<+;/5B9G7 MRNX&F(6AM%:(C37"4*,.IR>^A$QN^ % C)1L*.7C-[7L1;01?Z02(KOXDD:> MV_\^++>_]A>:KVC[JZ?0!,*D$F"DW5G:YO6D '3R.G>^#345_)X*UZPI=*6K M:V?=Z]OBOJA] T2I* *P"%5K):4T42K MB:"",N*C_&A%DF=9$<9*SP2>3LMF$V][-'&I\PV-]_;IS6.RO'!*W;M]L0-NB\?6>( M."42)PL=MH?H1%Z%-^H4/BX?A-^9>VH-OIH/@%,J'AO1-MEFWCQ&N)/S&6]W M:!\"),7LM+68!'C1-*WU?B=1CG MS_CZWH[B9O^3U_%[ Q'PD M,H16>0"QVEQ-^U<[5/C-A/_WK]"OS[*EARKR)8KR0EY_OKNRG82DG#DX'J7\)@/@.W5 M:K6[OWV1E?0B&\N3'T@OXI3!7]*SPDI^,OA4[[0:[=Y!?@D$!P5%SU=L2HR= M2O[KFYCJD4@\0C.K?A1QJK2EB>VFE#&1C#SR/KWOOG%LTW*(Y?>V+A+&$^LU MNZ%*;-V(_W&OU4QM-^=7MRHMGX4T%G+J#47,#;GD$W*M8IJ4A+ZR5L5 Z[A2 M*4:)I\4HLC!K#\>7LP9**NW]U'0_W4DD+*^;E ;<2S6O3S1-\^DF'$=[OI)L M6;;/B@.R3 2SD1<*6P^ $I8',@SN(^$+2W)=(H>3WD'Z/(6TWC\EQ.,Z"8 Y MUUNB%#+[.1U<#R_.+T[[PXNK2_+'[?7-;?]R2(97I:ZV0=J7VNW9CKQ51KN^ M_7UP0UH=6F\=[M%]TK\\(ZTC5ES=7IX-KLGPMP&Y&9S>7E\,+X!X\.GTM_[E M?P:D?SHD5^>D]:%S6*LLNVV6[=^0_MG5'\/!V2("T9 .E9UF&XWG;-N__MB_ M'-S4KS[]/OAO:=9VL_GRV-9^?FR3/'QIN$^4CJG\&LJ\J)%3:J,I^?=V2W6Y7B,BP375G6*^8(K/Z&Q%'6].6HW24 L6 MRFE:S>;;)6&V1%_@>R2B8TXT'PL^X0Q<3ACR=P:+Y%I.X3Z69T0EY!RF)*UF M_4^B0G(^/"4W2E)-+I*@T9VY*"R]^%VYZO:Z:GLW7?4C6)RA*\93HB>1L MQ&NYQQ9^RA1P2I0E.(J*A-!D2K+$ZHR#^!0L=AW@6>!NXQ$ :FE+ALG ,) J&#+ :R!(:#)(QK M BH+(F(R_#4?/^&:%TQP ;$P$GHG:(C(1-@(%FA2'C@!D6\*HBD&RQS#,$;\ MZ:(:*CSN%AX[KPR/G(0B 8]'\,P]O 9@!')XK!>>BR1$@:P /B()9,: )Z!H MP9UK@$"!R0C68Q"_B&LIYP ML&&6I@9)F4#&-:3()! *A5 QTUGG#P!-1$) MI9J8$K*:CX2QFL)$%&_FO^ M\2J_%-C2)CE6D3_!?+8 X1Q2*,O&$X4/)H(K7.8RKH$ RU[O::P6@$*L/(!0 M!=_O#-]W1^WC]O'QNW:KU7G?[""4]^C^3F+YC!LP*#BVJPF?1ET-R]6 9F;S M(5@W^AP05,R45Z(JT\ ,MI8&)EX ,BR*#MA&( EN6$F!?#,"(OK1<[ OC/YT@(-H3QG&V0GRO,[Q#F_=> M^8WSX KT-\^@&T< B!ICP1#8U*B$8JE #00%[&$1[52S$GD0"P3UA11VBN7S MNFDQ#CF0.OSE(>0!Z4(/["J2^V)!::93P+]QY7X0*,V< *X;'O$$JG@)80"> M\!3C"Y) IY]#'>*02*$HJ,#^NL >[";8!V,J,Y<%$0D\#*%;%6/P8;.FZX1: M?H-\GE^N;T$=JF$@Y&*3-[J^RNSC =#]E:(0X WY, END+, !S:;7#CWG>2S639SR6)J)E5]9@] M73C@S)45;O5%RI\2*>ZX+':[E^AK+U#(AN"OD+X-2"^VR([^;[;(W+M05@:% MVCR%849=!.D\FR'8OJ!\7VF:02X*+;-5VLQJ97<#F,6QL);SM36"KZ .QR=, M@$QN^!Z &%*RP90/?[%E+Z,-_SL3(+*++UD2N/WO_6K[:W>A^8JVO_H2FD P MJ0 PXNXL;O,&@@-TBCIWM@TUX?0."]>\*72EJVMGW>O;\KW.%P&RV#'*M\;7 MY#[*8*#AL]2W!KQ%^PO$@$/H4FMYW6R@:#99#"X-RG'+*$J+M>^^JIKX]<%Q M1W>F^E#ZAAI24 W P5W*!'BY,PD%#FMY+2F2L9)CC@5E0D?%T0I=9%D>IU)- M.3R=1"K/J_0!R@&5+ZRM&X_@9>U!PCK8Z/##V_*4^1Q"8*LEI7V-PYKKX/"X M#?.YGSS.^(C!?OZI==SL+AT3M&[?;DW8P%/W71_B%-=.%CQR#Z(C>1V\467@ MX^*>L^[,4QO@J\4 <$I)4\,]DV_FS6*$.S^?\W9']T$ 7(3IJ-(\^/$'3V8#F\+AQ_.[A9/"/7I8_RA'F?&-5 M;I\&=R.MLH35"\B&[F?F:Q&<]HC@/[3MXH$::>MMAFP(X1<8I]=9H'Z6@)'R=3$KMK+7@&OWNV&GG M*F7MQO3W=I!ONMAH5I^D=,1S -9I"&)Y5$[HU+A:I7> 7X]S\D/OP'VQSC]0 M2P,$% @ \$EH5[H&RM4D!0 =R8 \ !F=&-I+65X,S)?,2YH=&WM M6FUOXC@0_KZ_PM>JJU8B(8%"VX1#8BG553JUNX5*>Q]-[!!?G3AKFP+WZV_L M)/2-MGO=7I>N0 A(/!Y/GGD>CQW2273*NQ]0)Z&8P#?J:*8Y[0Z^.LV&ZW?J MQ2$8U$N+SEB0!5)ZP>GO6RF6$Y8%"$^U^(VEN9 :9SK,,2$LFP3H,)^'6]9M M7G71=*X=EA&:Z< +8Y%I1[%_:.![N0X+?XX6>=46XY3Q13!B*57HC,[0A4AQ M5AF.A=8B!5OK%7,VR0+))HF&43NF?S5J)+B0P;9G7^$L89HZ*L<1#7))G9G$ M>3'P5AP]LA$;G/XK0BRFS5O#X MA^C2';I]%PT'?0N1WVQY-=0;HM[Q^>?1X'B#V7W,*J2.O#8Z/T&C/P9HV+OX MU#L;#)WSKW\._D*]_LBT-#RO\3V0[;NM9G/G*34V7JY&3N,?G: R(5/,7P.Z MTPS!048CS42&9DPG2"<4?9EB"?GE"W1!S;2.1(Q.1GTT%!S+&CK-(A?M&L./ MV\W]L"_2'&<+^WL/@9\3B _YGO,%Q4):A]^6#G,JF2"( M($#6FN:3JF$C6! MXPVOT:PAK%#,.#0NHQG2:"J99G!%."-H,(\2G$TH@G%3II2)'-[&DF!-44(E MA7AOXBNNH0@/@D<1E9K%BQK*IU)-H60A+="-\#YN^^V#L-0=1(.)@"C)'>O2 MQC .AK)!8CG&&57.^9S3!>I%%C3#N!JT8QW<(QYAUW?KJ&.(8:EWL!/>%3!A M*N=X$<226LI,TF]3)FD*'93AKBIG!;^YBT'6$OFM M7;*WY/N-*)>"+$GO'X'2C%27E >HRL\-]=\O]1OOE_HLBXT_RV?3@B% FB0UIHQZX;W*J/&8TU43A-EGAF,A"94V%K/)A-"-N0.\$U-@,YM3$BXYZ0(K MRPY /XYS10-%Y*8+_E M@EB,4&#?3!XQ:KE>Z^@9F^9WV.RWW?;!W<'@A[P??U)HR7+C8=QC'%U-I)AF MQ"G%&=O7DFF61Z[GLRR< 8K.6%)\%=A/QYQ8K>)KL[R*,"_Y5'!LZ;. N_0* MX;_=GF6-9O2M[C$P,$!GXKI8_AX6J]];2EB9_$W&?E[&T'HD!YQL,G,W,Y\6 MP7KDIA1.67$JW-Q&*P>0!&<$5>BLS. *?-_9'9W7RVE=U=$PP5 8P@HPG^&%LBN93MT\ M-M;]T*G;!\[^!5!+ P04 " #P26A7Y!P(^AD% !4)@ #P &9T8VDM M97@S,E\R+FAT;>U:;7/:.!#^WE^QETXZZ0PV-@22&(X92LA<9FY"&^A,[Z.P M9:RK++FR"'"__E:R35Y*DEZ::TD'AN%-J]7ZV>?12L+=1*>\]PJZ"241OD-7 M,\UI;_C):3;<1K=>?$6#>FG1G%4:BU3M+5>"6C"WC_\7+\L7\Q M@Q%Z,F6V"A[_&#ZZ8W?@PG@XL!#YS997@_X8^J>C]Y/AZ0ZSNYA52)UX M;1B=P>2/(8S[E^_Z%\.Q,_KTY_ OZ \FIJ7A>=\DQ$.WU6SN/Z3&QM/5R&G\ MO1.4D"HE_#F@.Q> 7P0--9,"%DPGH!,*'^9$87[Y"BZIF=9!QG V&3X M-)81T102JBC&>QU?<0U%>!@\A%1I%J]JD,U5/L>2!5K"M?#>O/;;1YU2=Q@- MB21&&=VR+FT,XW H&R114R)H[HR6G*Z@'UK0#.-JV$YT<(=X$;NZ74<=0PQ+ MO:/]SFT!1RS/.%D%,:?+KVCX]SPW5U,EU1HYN4:\.Y9P#I(IS8,IR2EG@GY% MS6MJW!Q[Z[BZ&1$FS#4Y%IC_,,0#F-V$XZC5:#?:[:.&[S>//9P1]GH'_MLJ MD3;X(4+;4$)2U K]U$+U=\_U:E&M!EJ3W3U!I1JIKRB-4Y>N.^B^7^HV72WTF8N// M\MFT$ PPPE\ME2M=$&8+E**YD4#--!/. ;MAS2(T&K."P5)+'9VS+Q235DJW7N4L7$UXF V#D_VJWW5M5@>7*(\>6FW MB?CW9ZL8^]'ET#VI,674Z]RIC)I,.=TT09A]9FDB*\L.2#].LIP&.J*/D142 M7O*IX-C:9P%WZ17#_W%[EBV:T?=ZI\C "[D5;'\/2Y6OS>4L#'YNXS]O(S! M=B0'G>PR^FT/7 M)][)\LS_G3]V-OU47#:>3?]LCOS0BTW62Y2,S&BA08?$&%9 ^(*LE%6FQT$0$A"$($!*2) M]!:(@H"$)B#PB$KH'0)2I21TI'>B]([TA!I(2(;G_\*V?ES]DY M9]_7WFO=]UK9E-^4!0"SOK:>-H"*B@K0*BO4)+ M>^D2+0,=W>4KUQBN7;O*O7F6^P8.=D M90>R__L0*IJ+WURBI:>EI6=GO,K(_O_:*"T EBN (FHV&BH! #4+%0T+%:4# M ( J&BI_F. _VE4U!=SO$QWA9[AZL6 &F8 -14-#?4EFG]G?7$WY.(^X!(+ M+>LMV?N7V8QMZ00\V>7>)V9=$7Q0V0HT&<$)R=MYA=$SW.#@Y.(6%A$5$Y=0 M4%125KFK^O"1EK:.KIZ^Z3,ST=G5W=OWIZ1\?&)R:Q MO_],+2XMKZRNK?_=V,3O'QP>'9\03L_^Q44%H*'Z7_9_BXOE A?UI4LTE^C^ MQ45%[?_O )9+M+=D+[/>-Z:S]603D'M_A?U!8E9E*[V@O D.:.S_Q#4%N$9#=;%X-"P ,.#<-!LA!OB/9S4T1G;1 MI0?>$/OL\"4>@.+"GW0+H(03HG#ZW\O\V@5QH,FF;4?-R,N\1]!?>VTO79>= M>K3!FE'%6W,2HR3%-Z.;',X &C7O5'!$8&0-\>&#C%=!#N&Z[;L#MTZ-%FUD M"UV4+L MJYGF/H&F!%I^KKVK!A2\J7. [&J853L.'I4:/_^QZ?HCB&4?J]KG[?:FQB;A M9]UQJG&X7VX*UN$L@TYH2-YA.G CV:2]\,5TBNSC7Y!\-<@(/8ZGK1>C(%]Y M=/"Q<)5 MY@_E%I54+!'WPD^\N#B,X4P':712_%:)[#^P*]_5* CKA+\2A? MNG!KOVC\EE7%*X/?=DWO?&W;+^;!L_=G4D1.([\83P'X*=V#7\,RE9%NXN_$ MEE( #AR)Q\2[,W")M*A!&?[]YJ8:<4A/Y5!*GO_\0RQ,&E_R"+MBX215,"/; MHI< ^AYTR50(7]*U^;?]UN<5;@)Z:<[ F5M\^76N#=>+EX@3IG^!Y!$1^>-7Q/"M/9O* F?S M],>2P+RFM]HYG%K492/0K,6WG##>0&>=]7$2$1B'BDU3=(;N,XAE-]-\$,M& M /[U5CS=^T,HF\X/<2E^& MK%YZ0XTPD$[487A5\V9 18"'OJ8QHZ]R'_=Z0;-GQC5"EF))7GYQE\7O1:== MS9H) @70DM,Q(M5_S?Q8N.T5*3<($F/S?,#>4[BYWU'\TT()Y #%O1Y(UOG6 MSL$H5M:H>7*@V2[1]A(?X/0$"EH*D;W6X\G=PW-9F^O2LY2E.6H\J>'VB(6- M;-+(]-5;8&\*H,QF@#=&P>6OO^2U<&C%6RRK;4#"E1)COR1"FB-L3HW6E,8T M*=C'_F\V@D@S>('ZW7_-XP.3ICA2M>FYKU7QM^6B1 A[RY?'%'Y5QSS7'_+M MCS!ZM,LT6>]97[CP5[^Z@>^?QPJ5OCG:?$:*A)SE*'Q\TQ8;:)OH70LJDFHJ'YYVR;9L[;J6TT7$_CJNL$SG^=K0$;XO0J/-3TP)T!?5 MV%LUGKQ#KXEALEP [ *-O^-,?[?02I*>(E&12 ?C]?@ IO*I::HA*E65VI%/ MOJTD[L.71^5]3 M %-HH8FR:G>UH,[CF(*IQH3[1Z728:"KVZ'72=+#ZI(O,5)Q/TI_L!SHW5K] MTOS$: /Z#8PSV8M'XK[#]&MQVE^\,;K#VEO)/+ ?,S*K%D'YDDEQ3.Z0)#6^ M^EBCB;]$/2FC8:7S8C1+<1(,GO/2"PZ#M]75--/I$N(6B2%0_72USQG22I/[ MH$:!C*B_KGC_8P\"V!O?OGPY8K&0)2+G<=5>5NFG;,M^_T[VL#3-:,/74\#'C]8,[$.XDBUWQH@OOKI!IOW M=A7.ZT@]*-*S5[/@/MR+T)1VKLJ=[4LU_N=Y@E!0*%"ZT^AR66>CRV11[>ON MO0<4 .O9N6N?E+1090-BC:W6XK<,!8N!CB!69^/6R=U6,;R1\W5[-U=G(UNB VZYJ6:$"/->CK(&N!*/V; M,(18>38U0BSSO^%7RM^P3L[IY:KHCE>!;*%"A#Z;M(X,$30ZL4[RKNZYTO64 M0Z=.:^=J\*7Y?N06'ZQ"LXG[U/89J5@U.6$0H[X4^_!S5F1"T0E)-DK/B$WZ MX7CH)8*AK[N+M?FB\GWGCL"--?A9R5_+53(/P5U=?M% S4WZ6Z]02A1>=N\4 M8@PU^[PPR725\RBH:O7@A56779YFS*.+" T6_73Q#1"4,1/Z1M6#ZO*8KEI. M) SA?QQ+2B8HWQNNO=UK2&+N^#C3]!YW9X&N:)?<9@YU!\,J^N4_WN89$CQG!XP]6O^ M-!?7/SN/S'B9WK2AWU 88$D!F@$^/+BY%ZF&;9)*Z8(>8GENCSKIR!F^H' M/1([<;D(M_[!39//V5]8VC=Q';I],Z$J/"[NKUYKJ6O/$I[AJGT.(_!]6T/2 M+!(YSX,6A\(<"#FH@!]'WZ[V11+5[TPW_?.^+?-X&1P7XD !7&HC "D >HX8 M1::/9WFU6U+2YR CU@(FV95?!><9.LM0-H)3NS_Z#O[REZR-0AOBTWJ#U_N?%K2G39PL5R+FQH"_?;&$0HK8D?I, M0TR'N6_!<-]Y+EIZ"L9">(@*2%VD $8%WN?4Q/+*][:[+&,OK>-0[8;V%HW8 M&M<=R-//,]"Y?BQ;;U!598_BL32)O7VY@"0*8I5JHB]XX3':I.D_2ZOQ)L%X MESH1JA$Z"+]R)U2%]'(8)LWN=NRE+XIQV$S=]%K?&LU@2,_2FD@S\69 L5D; M1_8]/!0DTW_'29.9X9%8_KOC9<S@ MG-C(]'WL'7>E1$Z[D?6&,^S(Q!J8R^>3^XYT3L*:]K0@T>]BYR!9]RW6N PZ M.X,/:XZL$XI_X9]$"IL&Z_83'I8KEN?=^2H8NFG<[!7$\AM2@1VPO)/ITVPW MN%7M1>TYA_Y4^\G0@R<^-A,+BOA97?GE584OWZH>FA@00=RY^CBG"NC>.@N"JW=#K'VU'#"Q UY9T1G-*<=ASY MYD8KMG!:E )@LRPVXQ]QO-XLW)0V%]P)7$#B9C'4F+]9SO,G_4B2H9$3T8/$ MC'9D)MT;LRCL6>P^L-1(,5JU/4) ^]$'LV(H^4FX,S@2#<*1$\LV^6__J!FM M\9&SF$'O5!6J" >42A/<,.'@0TUGS(6\(9@\6SN.X2DS]! *-@0NS>/^P"_# M_\+&X!<:&Y=#YI%>&#IG2O<@@\GLYQL;D-=QL*O\D*"\Y? M)M.1@9LV['C'Y.4XZC&KX3W[<9_&FGG:_N=36YORIF+Z8-9*SR+Z1JT9;/:G MBJ=Z*C1%*%D\=D<>U[U8UE.'9XKUF:;OMB -R21X?.8VCLW+->L6[V+8]]/0 M1)RBN\D,C#C]76<3HQLZ+H5$SIC7]]=*0 MX3;=0;$L(5D_U3_"]ZJWP!%4YNGE[T!>9987U':)0J!M&45A +OQTY[ 2VYF MZW&.G*[<9-:&REWV<\ _T.O9B=MVGRJ1_7;A< MCW []O_)54ON+@>V2:^.0_Z9Z)_SS;@UM#^G'=M7M)YC/HWR@! M7 AB,T-BM,S:7T=HDS,8 B<^F/DU=[/R7=UNJE1KR!;;0EZQ=< ^\U9C7_2W M8)8YS.UN"J!ZG8$O'?RD!?YC9;# Y\]AD_%'^V?0ADPJHVS$N9ZDI. !,$A20!KY68-/L#T6,<866>*U39QNIY/_0!CJB84KR>(.,IF/#4 MT!M920&TW@V]"W,;]?DIX#A2?6RU\T!+Y3?"*P?_DM:V;KL1'W$B3P)CA1+C MGZ?+Z(G^7,,\Q=A"_^R@+Y,$PZS-^Z<#"BPH -WQ&UH\BQHY0_DR<.XSU8FL MJ*P>NJ)]'YDC68LTU1C#H6#\Y;I\ D=;74/>HI6U].-:Y]PI%=T1[W>:89BK MFBHPXR9"']X(BG=8WN5(3@1 &RI0].^G5SM#TR\F^+"\"5Y&4OV!NV 0Y<(M MT-3H&W1#!6C3_LD#D"-JT KT1V=IYVBU!D62/+=C3]>*_64'$$BB>M,_824D"D "@Y->=$AK146< M<42X37@[44>OF@'ZQ$'R2"]X"LR* J#E'$6+P2SP\5\7H=<(:N;C,,6\S RK MF( #8/_ +\&,DM&?O.B:CTT94;"7N #K>#YHM.-4E<.U=VBD.)--G6LOU?U M?L^M/H=H=:3;,@XU[D$0@;<@"0]">6<(R\]J]H]" C%O?Q0, !MP#$B=+0*D M<_X*!6 /C;:Y")W,#SG7QW%0^DPCZ]/<1.Q_5Z6LNFGY$U9OHDV>ZH7L9!:DF1B+JX4\"U"!:1/ M?HUKR*TX;89)^U -+OU8>J$U\^V_13B3@RE!$/&H!,ZZ_TDOO/LSZ $#',P MP 9GG1>;#@3Z2['F',@/\C;&L;+7F%;7.CUX=JVQ8&^U<4+KPP1+=>:0( M.>7XA,2JET 2# 7S[A#=1*?5)+>*S7S$O'-ABJI76:)]5K9AMRZ4I=J2]/G% MXC)3 L_*8"VQ MJUYJ:QWN0M,9J,RB 12CZ,R3MO B\JE-UGF!T^N=4$'^P MV!WS!N,(?S_)3(":IYX-=FG]K#$PEWO@G\'KIWB01I( \\&'4\HO'LF&W1L3 M>Y,)*LP_U3OO))6H!GXHZIK)3Y$K'$]3EB7M;UI:SR4$2V5D.2O&K>BP6LV( MZQ@5:DBLA2]*>71*R?U-5SRN&'[G8"5F:%+'M& =_"1'?A72)4)IBJS^#=.W+8Y7_#W"T(Y](.-JFP=R=AR M[R$%<,<(6@FJ7)$C&!U;X=Y.9B7K!:M1G] 'H*T>40FETA4 =VU,X)YP"<(% M&3CC,[9:D%>WU45S!U9F"6':\:LY[BA>!OGN2G5(G/JCRG*%,ON_SHNV:5UF M/U%9!\@==V)00')WAGCSL#I-R4!.@,U$K,C^1&V?G\XU?[@/MGNDW;_4A5IE M-.3!L9^0P)J.GT; 4=$A(\->1_HD,L?YK6+G^7:?AP>UKZ-H)NH/^$_RL08N MJ@7.:*5_+.LR)UP?;;/WM"GZ>4H%_3.ZW05\=UZ0F:@!S:7L&O6@9UN.BKRY MAV A%)KN@JX/1PI?!(A:QO=?+(+"GUKJ,Z3^.DE^Z;M3:U!_4$9XL?7?J>^- MMDXUGW)N\55"A]T^Z2A(L2>6)LI,&7\&"HX!#W2Z]WYS7*BU+N*6M?ZLT8HYH@"G<>\7%?V?#TOXKO=^>9RU9YQ:H$P$D,?G1 @[V2Z6 MTHC25^DGNF8L6\99+"^D#4OA:+4S++:_]5ER"V_ZFB8O3!%WTH9D^!,0W&[I M8QGZW>4]=5>.=R+I<7#RIJN33?SS:JOQ* 'SZ+!E+'#9[+.#TD)I0F865UMZ M[.R?11 K6M:%.S5/*C7Z[;'Y4UFHIF#4YWA,Q-L;03:52S'YP0%O4*OVD2E> MVB$#CD^NGT9IS[3C>U#Y9" A^?Y/W&Q*WN<*J]G2EX9,5'W7<\_6,F=.B<]P M-LTY+VIGP XW[:#FYW+:J?V]:##7+=QXLG.Z9?21 MEMHK1Y 0=,FU"M_]D2Y271I>^/95O/QJD4H?/RTL62AYD\-MV](U>EY]O[]C MF';6OD.UX./NH[239&M=HU]Y\705[!.XW=*1:.VO0?;@+I;*4^PPAC$4^#O MPRAR?Y_VYWC>/8M?/UG6OU%MV7P0U#)\SRYJ6+_T3E-SI,FHA/!FT;+MV-4N M+C7!<^KW=ALZC."$MYSO0KCMIKC[ZF*%O?=[-2 DB:A.HPCSH$&D9]%&A10Z MCW7/(?:E;J:7[!84O#'UX4PSBW;E]HC1F\7Z39E ]A.:'893UZ75CCX\D]G5 MVPBY)DEF5,SIQK8"#Z8K"]2<@1=U:/: E?-)(B& MK=_I7]_QZ.,]@Q1@TT*'P/M"0Q0 U NN?\3-2F$.'>':[>SK0\:C@]!<2;4>VU0#KW%/0ZKT@/9FH;S_J_3 MM[Q'2C9P_@ =?<)))[/W15RK;^I^>$W4Q7Z<#BCLV$OV$!]!&Z/%9RA )P0IYR[F&V4H)) MB4)]M8\@4&TN]I93T$/\9//BAB"1/T>NFVOHT\YGL#'T/DF.D,@4[V9Y-ZR] MJ TBL]NP4U@! S+?9G[P_J=@"=34YN'TC9X\Q@[JB%VUI-;T>OQ[QI!P8??ZAY MA1?^/JCRVL\)/^! 8FRX059]^N2&+I?G'C1U:':()^T E*\S]ZL,M*J9DHV0 M/!(\D/FW/YR+NG9>@7DM=(X,9;79K$T6($3B8MSEE)X2/A_ZV6S*#H1Z7M1Q M!LNE7\T4&[E$WMQ0K'Q1Q?\.XLXKI3^R%M^-_-AMTMZ79(7\P5ZS#J[:Z8[Q M(+/^59Y3;HP_Z%#^%/,E78544;P@ES__E#& ;N>4:.D*IG8_U*!IK7O;NN0Z M^D;$.9M5PBH>K#[)G">1?.PY\[?(4J&(^-PM)%HK5/,UO [;OYDZ2TNH;UOV@J^W=F5XWG[P>-^ M^&J&FCWB /D.4TMWH6MCYV\H@*X^=S775OO2;JW?$%01R7+R+4%_4D4U'ED= M)"ANOR&![G$9FF"P?"6QQ4K/ WM_SY&&2V-0_*@ER%:+_2F5\0 Y#YTB;#XN M0M2(W8=[7@U]\+-22OO#]#8%()!3FJ3Y=H(P@>H^5_)8M_F)"XD)\'KZY-[G M]S8:@=)3=W8=R*38^2\H-\)SCQ6"Y>46?J>!3OCM@(#F.K:),J;(49+1L#S* MF^J*QJ$:MS8Q/S41O8':HCGH"F4*'7E!@A'>4P"VT9@\'5SW ^,$/X_!H:P$*G)?9JTY]E-X*6^/:[GUK-* M7_UY;^RX>]D"Y%CO=UN>G0ZR_Q4WM ;1/_FN7Y_&_:9_?XCP!AR'/%2;"S4@ M Z=A3.>5:.F G&7EL,,0HRX.?U7?XSQ>96893I^[O]0A?^"X;Z%#3#\%W8J@ M ."AI>>JX@ MSH5C @;7N=H2@L[1J/7I5GZI)AQ3;#64=6.!9U9BXTX6XW *>!%:#Z(*50T( M7NY^=W@>K-T476XC3+1.75R;[ADND7[C6B=7<,=!,^I[\D2"9/Z)A@1"LI\L M$3J20450]'1P7PKQXS'H^WE#9=.>; M,',R!UXNV6A(*:^TI=V)Z_ W3\Y,$L]V[]T,8G89T+.)"H<](HC"TC]/17Z( M\?20O^'Z8B%K+\%EO[%9].GH*WBUY8NI%!7IFL^AOL=\Y45.P9X*S"\Z%8:_ M_Q"0$3;**IBSF-YD/H4\U?$$G;QZVO:]Y=2U'0-4UUJW5X"L@X"(YSOPQA)#Z05 YW[ZT%-)B$=#$&)(0M1QK=@S<[GJ_JWN+GC'[& M*TPUK\OM6_@5:O'Y$;2]NMD;$+?A]35S/OR>M88N8^)#P4"Z710XS M#/V)^JDL!1#"?6:U5)!P$Y<1KFZL6U;TI%'P(^C+?;)T&]H>P>51GB1,N_;] M&*>:%#1Q4_,;068,1/4GL*]N[67&UM1%0.V1/AM"-C&]Z&1^.X'_6R8^^4 !;NT8;-CDVUD1U"N!7,O@\ MI.=<6?'?W#\Q.D!]ZQ%-[9/=##%T MGB:46-9$W HW0T>RP%U,H'W@@IVZ!>]>2?35V1M>4[D?\3KD5GA#-T$ MIB74-I*E)_\QH:X)FNS9 @$MOZ!=CU9TUV=CG,L)]&6"WC&_+9&7-YZJ_'2F MO:.B/C$T<^V=YC@J _,:>5UWDH%GL>O5PR+I_5Z4';UA)Y%M=?M2OEEB9^ ]")H M/QSF@R^(TUK//3_7X[:]=V#<>\0$-I0](*8]R"T-ZS?R->#4FVU70L/Y?1G> M=.E#J(J%VW9V@%N65^>W@W_+)Q0.VCY4'C ZMU!RY38<-A2O[&>YN&,N?L?V M^;=.&A6FFUP2S8.26T:7 CP,<'/AERSUU^B?Z3JH5W^(SW^GRB"6G9Y= M2@&,^)2D0$]?]P[L( Z8 /-P1T*?7LI7N\!6ZX1[C,%[7>Y2-6#JN4#/T^1' M#\OI!.F0HVC[:Q!7\17>,(V2_>U]:<9_NNH,N<[>:$F7KH[E8)^%%)9RW:>[ MN2_N2M,2U()M$BVPN8YBOA1DG[!A=73FP(TH4QFW-AL:*+X_]C5\EO9_-LE% M4M&^YS_1:O"V9((D;-*T-.CX!W=OI]JW6#6:W\7?L%HJJDG&UD^"4H!B=_M> MA0:3Y^9Y$[K <6GF?J:GZ4Q1)\^M7N)&X7TF(:&VG2_)G?-T1EW0!&ZI[QU& M(HGY*I@F'Y"W;2_-MH5=TQT]H<0,/>O\+SU.?G>=[,>17JY'563Z;MPCF#)! M-4,84_=LLDD[=*0Y[7KJZ2DS^:[B87WT[3N@)#4D*"*V\I_R0/>?1Z(?:[:8 MZ A^% !D7-C*4,WH?7[JP[9LL8%0(,F/4!"(_[I4BUEJK#V]4^!0%RLKR:O_ MMM%[F)D*-0PFB ]U^^$*PMS0H V(B(:!I:;#LM;-?K\MTC4-GC/(VI.X[%G7 ML[+X%%L>/?] ":NV0CFO#C&5XP';M)&G,25W"IXX0Z<,GR8\W,801)Q:, 1# MS9NSA!/3VOF\U^%]5:QW3)[_#EG<14ZB*8#S7++L%(R1H%,>D.H8.Z=#']]+ M?UU]XVN$\=XX&0C>WL'%8Q<2VJR9VH:UB]19Z._\4=5H!UAC5$D73!66!O/V MX(4]KL7=0=Y5??*.9J:XUL0JZ@.DG#+3R.6N*2Q1QC3S?JDXA-Q:1/]?W5-$B;/* I,!W^= M#\)A-&]2 +_M/#:@_A1 J] %X4>A-1/36'J*VXR;/5E05G@G$AMV$1S;9%SL M>A97FXL]^[SC?3=^SR5-XZUL9U!4*],[3> Y\M!J1[HM<:;;-5 FP]A;^A]_ MJOCKDK]1,1'Z_ -O CC=&/55$ERE:C1$$&(HWI.V?[NE':AI6 +!)8'O@ *0 M^D_;8F./(%1YOIZ@1JJ RT.U2=KGX61.F F^MF#I^YMY8W?3IR\/JI6MGGV2 M;>D&_B8QGG^!<1$U:O-AHL 9)^,I4>+C.4>_PVY>2*45QY-\/A.K#,9KC)8! M!<]WBK848Y;!],YD-5QM0:9+XNU)99P"JR3 ,S$V]H1/9[2V$'5+32UGUEG1 M,50H='3^!S+ZHA8! XVNU8YMAG*FQ%AL#G<]UZ< ?/$C4:$3J^CK^%W, I^N MBR;WY!N?DDQO]-0#=J3G-U 7)O2HC,D(?^.K)K+H3SO<094]E7Y83C4C,QRJ M$( ET[?B@KNX/V"C;4.RFZ+>QAC6[R]!LY?S@C]77:G?G]09F.Q=RQNXC_Q^ M019Y>-3S,7*G[W))_KM8OD0)6?X5;QN-HLTTLL!X[,F)LFIYEOABOF.J]I # MG2@.>!9<<+&$$J'\.KYOL0US91J-H)E+(WO\;=*:>'O-9X%=:]L2^X5F M@&M4+=2I3=S)QTE>E8?5SL4R3Y\<:ZJCR5,X5Y[ZV1-QC[I:DXMP>:MS:H5)2)K_ZU6/5'-. MQGB$9LV>.?QJDZQC)J,(O2Y9_/*RM6)9J=+37)E'%1TY#!]E:#FH1CHJ.BH+ MVR0B:'Y#(DDO"$9OZT:W5*4P7]F_!.XL\Q;MMD :1G0OU.6Y"?%^PT&94VHO MO!,N:TT#L\1;M:]^=T <$G/ WT-$"P.4'T[DR5EO^(W]"JJZ.>!@B$.V'>BC MSM.XWN#@0[M5( $?(;:9)EKC(2 W5*QSL3 M3"<)BS99>02([O#OFLCO'BX=+ZM?4Y59WJ&"2L)LP'A/16@Q!2!QEO]#&B:: MXZ)LY.F;/SVD=K[!1R7R3M-L1-V^E/"&(\80$VSQ>]?!.!%I.0F-R;BCU3+) MPX\O0N5@%FEQ%TF76@J\]SN'S QENH@Y@3'R.0)PNF= J%J:CC/IY9CXDZ0W MPAGH^NLV%3 +/]9)8XE_6H&X=UPK")(^&9H#[E821._':_F,NIN-[UX3Y+KD M7V"XT,RPY)1J+3&I)Z3V)5U&3[.::F4>0.).T]ZR:HIXE7#^C%Y@!60.ZFW. M(0ITDV%E%,#>Z 5\/7M[C_RIO.92\4OT;=V<+4 -P#/RKTH* "D))QYB%J&J M)#=< DD0+:)

!!W4ZG)9:2PMXWW#NU;K5S%S@/S# MFB\B,0:U\<_N0IX!PK5:IK(1XE2T.]E02T./F_U>6=IG+(A3MHXI-0('VD+B2$&XM^F3&GY3X+G.?:-J7YN.<\D50LPEO K.C(_+ASV0J"B"0RG[\Q-AF%UBSYPQD4I,9KX6*J;;P*/N'K_WZ]XG&<(NW:R]+C,^:YIM!O^8_5ER/\"B] M'_R#-)#_LEA/A2;)%=]^3"+TS@/1ZBXWE*KD7\_QBW2QSWYVUIE+#&T&,YR+ MG:,T941;/=XWD*MX>VX4J6M/MD()JV]D3QTQ+"+U@2M)SGQYJ=IW.KY5R=XE M!6$W_KCSU)D=@F\/E/R1D-T,ZMZNP3EZQ".Y%8R8_OE3_2O7JED+6WRO(/ET M">-6(WFNUH)FKV_\ZE[[)6^J.I:# M&XOJ M6DN NFL\J9&\, 13%J<0A(\"H%4E;*.!.,6"]EFY58LOL3:&U=I(GP=&LF)IT3\UE+->A<*<7:"V,UU0JS9\V7:QM5N M>G(O8X&'!20VY04H262>Y0XIN,AJ;_00-#MU@XO)*^!F^#CM753<88C 7@=W MC#ACG#A[MEW2WT& MDFJ@ /JTP#MP?6+QCR;IQ480'<'_R8C/KQM3;5VT89R?WA9?EC1OXI[@LXQW M.X-I !\DA5WH_DK5?_](O6P@T,ZCQBL1FVQ#M1P")[."F TE>*>[B?6GFW1! MAU!$J!BW8]HQ)V](]G)X?''S0,#*V^I1(>.X4=WI9T')T %^4:<]-G.N.\!Y M:- L$>3YZ>6X'=Y7$[KF/W_%!U[CDCQ?W_M ":#C/=>,J%#GR)2..E21PA-G MWGCONH9B7BYL(XD<8GD/]$>#,.:P.8?HLTD1LQO3-[,1DCM#M__7N7;Y%AF$M>S$O%=1HOLS]FYZ<&,2M]']N$=3)<'%II#K>R4+77]6T6+ MU_,L":[+13".,G$ORS:O&Z^&C(XC0NB6$RY;!HSI!#_'NO7*7\OTBH/>WK+4 M&(PH,K+U^^H8C3AJ:#)<6YQ#I;J,AG H:Y"EPS.G# P M2P+/PM 4C]:8.\F4L9.,?+.T=&7Q6U=C93NOKSKVVP8<9X0,.WM2Y 2_'NXU M9ME;)=#C\]Q _->O;L&I;((3_L%RF[*!<]".YC_K=*(B8,\=J/;&5 2ZQ DX M45JBP%J^ZOM7*S0\96V+S^#$J\HJYX T)!K /=\"N J2,2_\Z MWD^]YX$B,+<\@08GO:V&2UN<1Y2J:^7\]18IL%NR"A2IOU/8GO,ROF;OL_&C M O'&GIFG!0PNP^::(?BH;4G)AIDY+98HI2_=QQ $Z=;L-VQX MEHS8K GIN(&WO^/T]I?XV"&K30Y=%K H)@EVX0$; ZWI@8SCYZE&7(KBDO>! MBM8F(8YG5GT%LX+?EBOX4Z9)TCA86IU>\:S(3:,C_?8]D&4;SBC<":^UWRAN MP#E]9YW0'!'<_#W73PG?SOHA[C( >)I A2N#88'G-5_R)W91$R>'&C/+,A$, M\&?M)%)TD,F(%OPIZ,J_Q\/^FP[\%4!4 M/<@0N/Y=RV>@<++H@4N>LF-"2MIB:#U:.$HG8V*L'\83P66(_HG*5P=G6Q'\ M]>HJ:JTK']2?B$Y6*\6N\X[[RU]U#13V:$!88)/?][UVZ'7VK M@%?&-P@_>,HL![M>(9;65%[!&\I;'$MS8V[V?D.FD] "DVL_8=FWIEDS M6OR+%.#<+F<\3 (;N0D->@>0%52GNA1OR&.-(*,_!0["C:?\R#.,N8^]B@%D M^(P;L;\CO7S;/H:H;12 =OE;BA9[[?\N%;E- 1R-VV$>M.)3=>(,DMG8YW5^ M+IOU>?J$2KAM_2T5QI?']E[!? @?6RNT6KK\X2<%$!T+_AYL,OCC;TD#GCAH M5#(9?/^\6T?+DX,"N%'MJB06:1#^)^<%8J7&(V8J8O"PZKU[9.ASGN132/\: MKW^B ]X=:^J:Z^N4I2/>.1GTH*__J+%9>ZI+XX0M5W)S!W&PQPY[C@ 6D!77+./+ DMT1ZUGFCI_WD2F[>>.^90T6WHR?F_LIP"VXVE#E;\& M)/^S-K HAWBB/O5OE0@X<]/4TKG>G"\!J9N1?SI^Q]<@,F/?,?TAZ7$0Y.$B M$_5<0-+272'MR/:[Y;^T>@6?.:HCV+*[YT"P")F=C34+Y;]K'#V8]T>R^C(:O/,S?J'!6\IRVTJ[L"@=( M668CR$EY^NPOB\;,$7] +.)WU2HNWN=BKWY*IX@*H-/' MUBE47,D'[T_*AK^X7H8+.YL/?O[B]E_-;3=-C\'F> 3!;3I<#K;X^??I( 70UE";UMD9&T/>&R"5R!D$LNVU;)'W$Z&Z\Y O >WG M/I@]R &*[6TDDY#[XKKH9D@HG7()(BEV*4&E2\TNK!C\(=1,$4N":6B1#(Y0 M/<)W#[P.Y#>3S)NCNEWE*8"2ND3,[ -7#T/#Y0" .!6- 1 M " 0 !F=&-I+3(P,C,P.3,P+FAT;5!+ 0(4 Q0 ( M /!):%?"#BG5T!8 (H0 0 1 " 3Z4 @!F=&-I+3(P,C,P M.3,P+GAS9%!+ 0(4 Q0 ( /!):%>^]$C@(!$ /SR 5 M " 3VK @!F=&-I+3(P,C,P.3,P7V-A;"YX;6Q02P$"% ,4 " #P26A7 ME4]R&6(U 6H , %0 @ &0O ( 9G1C:2TR,#(S,#DS,%]D M968N>&UL4$L! A0#% @ \$EH5R!XDJ+XKP 2C ( !4 M ( !)?(" &9T8VDM,C R,S Y,S!?;&%B+GAM;%!+ 0(4 Q0 ( /!):%<9 M) 2SJ%@ /F,!@ 5 " 5"B P!F=&-I+3(P,C,P.3,P7W!R M92YX;6Q02P$"% ,4 " #P26A7J43B8+P( ""1P #P M@ $K^P, 9G1C:2UE>#,Q7S$N:'1M4$L! A0#% @ \$EH5SR5G1RM" M7T< \ ( !% 0$ &9T8VDM97@S,5\R+FAT;5!+ 0(4 Q0 M ( /!):%>Z!LK5) 4 'X,! !F=&-I+65X M,S)?,2YH=&U02P$"% ,4 " #P26A7Y!P(^AD% !4)@ #P M @ $_$@0 9G1C:2UE>#,R7S(N:'1M4$L! A0#% @ \$EH5Y!Z_>;] M,@ 7#8 !( ( !A1<$ &EM9S$T-3,P,#,X,E\P+FIP9U!+ 4!08 "P + +X" "R2@0 ! end

E.U#YI3[<[JP^L]W95ZMMN)RM,#YHJ'Y+/T= X+<<'KCP6X[IMY2< MO8BUD*R:D^*VB]"])*&52R%F;>Q>>OHA>[/O)ZO=.BJ;OA+2?FYT'Y[*P0GB M+#R5(1\6/:>$-.1N,!:&W U)[G26V8=*3I=*JD7L%"5CQ)1PG)4HG>NE'^S! MY,[.N>UC_Q5R-QZ*@-R=',V0.\C=".7.6.E#+)Q*+2U2L\63BS*023D;QFOT M+/2Q_WHHN5,&T=W94<2I+0AM W"A;8/7-JVLC3'8]FX^DS+2D#-=6)8\YSS' M)GN][+@>2MNTFDL_G,X*YZYMAZF %8>K@!4CJ8"-J\O< PG\=;79S.IZ=?5N MEW6U?,#N*DZ%#?A4V*F-.@+[C;"+QJF\AJ_>W88I.#N*,QZ3K,W/R:(+RB4% M[BOI8)E6O,BZG[=^U#;M\V5:796.=+_ 3V@W2>IW16E9/WO%)M&DHJ1$8A!T'%6,X+,XJ[O:'4 MC]KR/9QT"C,WO?0&G@;I0#HAG>-'\0CL!^D\3^DT7-I:*V\1) ]-!HLB5TVF MK+S4N2C-2^EU^_APTBG]G*GA=&TZ->E,6SI/;5WH)'02.GD^.IFC*\Z$1,%J M3:KD0MXS33X8;XQD29N]$/-16]&'TTGKYW9 W0U/33JGTLG^*G[[VWP^O?V/ MM\Z?=_1<-MMWA;SSV;)L<21N( X-^KD/X\ ;')J).C36",&K9,2*D5V95)LMW\CF9O_)G; W8_E&WO>\ZLCSGQTZ"=88;^J)4:'/D/ M&L4CL!_$\SS%T_O*=>G4TK=X7G'GFF[F1#SPE*.3R475QX;ST<33,(@GQ!/B M.1D4C\!^$,_S%$_G0\ZNFUAH52 EDR)O#2/N;(SM B/G>^+YD"WGHXDG9KF? MB7B>VKI02B@EE/)\E-*8Y+EJT:*67+DTX?8A>15/DG!>;-ZM-UU.ZSA;+G]OZNVHO:0_;JFNOWU7F MAVUI-^(Z;A9Y$=:_X+S=0%R?:1Q]&8']1NCZC-7;T-I:+9FG[(-KWH8)%$QS M'VJ.E97J?66BCQWA[_Y^O=C^\I]E>['*S]_SWD^EF?2?)7?\V)UZ>['\]I8? M']:,I2[>EDS_+.M5A]*W@G'U1YQY._.%?TYY;"!US$B%1-TG43*+8*NVY))1 MI'*JY%2NI)5B,JLLC>AEW_4X$K6?29ZK7DXQ8>F/>>E#I(#4<2 5(G7O.'AE MHBHR$->A&P?/!07N L6DI=3":^%T'_N;)Q(IYR%1TUGXI[8@] BPA!X=MK&@ M+RSPR,@)U\U_TX5<=86$ET7$4!(7>XT%'[*+>+*@R2H-13K"TD?%ZFFW#E]L M+\H:Y:I#]!NF<29A!/8;H=^ HU ].#&B^2$QNDPV2D-*M5#9N^@HAB@KC[Y8 MP7OICMQQ[ ^KY>KC/ARW9Z+Z/A"E479SZO-00^:E<\H$3P/%([ ?%/0\%=15 M+97NABDQ%UM([QTY:035+-L_4IJH]]+2#VJ2?%0%E;UT?)P&^4!"(:'C1_$( M[ <)/4\)Y=(79VLDJTN3PUP4M?!3DN>A::CA7+"]>80/:I9\5 D5IH_T^33( M9]H2>FKK0B^AE]#+\]%+S416W#?%8]60DJI05%$2TU4KTZ[*A;V0\T%-DX^K ME\I#+U'%>M9;T;^.ZD6MZM#=G'X.MOR+X>&WZ#NUV4=@X<\ ]_,VAJLT45?) M,B^%-)JJZ^8P">/)<6;)BLITKM%S*_MIQ_QNK,3WC;WO/[+7_V0F:09S0.]? MK+$;EXS)DS/9,+,0J(H:G)Y L:'89W22W=HF*2PDTMKORG\CA>0J!5>K%ORM..6$]M7<@SY/F,Y'FLBIB9$,&:1#*9TG10 MMIO'F\35*&6+-67,@O73KAGAZ5"%\)"6$=U:[F\7_-9>G6UNWOKT M[LAG>2&N+G-?F^*QM/549HO=&IUMP]NRP8&_@3@NTSAS,P+[X<#?>>8$I*A< M5N.I1,E(%>8H"*=(R\1LXC)&5?O?Q7[6WF^QO%XL7[^X.0"X6F[^O*/AF]>] MZDCXN[?;=6@X72S#^I?GVW*U^6'5'5W:KE>7E[LC@S$JR=R5QS32WPR]T@)45>J$BN.)X,+'[[L/6F^MGS./D/?4>HLR]1/3W(_KU<^+34<5;;G\81;+ MLK17W%2N/VZ+'F<+<;9PE.[4>9\MA,/51S/VR*I-FI%UTI,RQE"4F5,,V13O M7!"NETG1[QVIVTX^?[ZA[[X&QQB<\1^#$X6J/$@SI'GZTCQ6-2Q9:B59(!&, M;,IF)?FD,QG&JO$J)J9L?SONCU##+SRPIOLXK78^LCA^NH#TG1S-D+ZSECY$ MI3WHL$N"&V$3%>V:IG+5HM*H(XDL2^"&KO9LA4=$[Y_VF@> 3V@VB>IVA67KCV M49$K(I$J33E;T,_(<BUK)9U5(\:(HQBHIR-0BS:B"%KV,(S^H:$H_YUQ"-,]"-$]M72@D M%!(*>3X*F4R4@8=$IMM15E%S"E4+*H(K+CEG4>4^MJ(/JI"V4T@!A1S_3O,Y MUG+WM(_\8GM1UFVE7K4/N2C+S>+GLMM7_AIG\X[KS#0C=L_\Z8EX@LJ$T[N0 ML#0L/5)+@TF ;U@:E@:3C-/JL/1D+(U0!F">#)AAZ4.51?##E47PD91%])9C M_'ZU;N^XG*7K];HLTR^S[3HL-Y>[/J*SD/_G^G:.)S;K!D)/_63/47MZ>."B M]O1L-_QD3"Q7;BE9%DG%6"F8'$C(9!*723F[-X+Y(<47N^V(9Q_N1GS0'/J& MV9_=$ONKCM=O+O*;97[U*\M_\Y[D?RC;%_55>-O_U(7![!JBAO749V_@%I\< MZ5!X*#P4_I$*7W*H-73B;A6I&C7%R@UQ6U0VM?A[1@P_I%)D' JOK(+$0^(A M\4-!.B0>$@^)?V1=2W0U&<9(J"Z(%\%3$*:2DM[Z8GT(KI>ZEI%(?"_]F"'Q MTY#X4UL7>@X]AYY#SW]31R2F@HS.4XZ;.SRD"F<< M>B[U^#SI(?W;:>*H*>[=4"X?S<0+RR0[2]%4]%QTYY=1TORV#\ MLB.0T^^&TL3[_CL KVVB7EM6W/$L!&DF&:GF=U%T@5.)*?I2DM(R]G&4XAZ' M[5"N5]?5XLK[/WOW!8&&(^.:1#S"'FIQ#S:)C0)68*S'M2M4IR2CBR M57J7HZS&^SY.31Q1S(69<\X@YD.C.(@YQ!QB#C&'F!]*S(MV2DJ6*%26N_V4 M1+&&0%X*HV4+RYGMY7S$$<5<^KDV?1QEA)A/16&"CWT"CNP-,RTEHQ]PH'P$/8)L4^(?<*1 M[Q,:%X.601'W3I+J'D7O.#'&G8_,R,!2'[4WWX7U:N&$M)L="N.W)R.E6J.51;F\\2+#_$ M=SV\,R/NJYN&,S,LBH F\&.W)<,](U>XT=@JS4$9X8GGZ)QAE3)S3&)WE&PS%$VJ:3"A1=USW'KX[L>WIF1<&:& M3_&H/8/G,D%8PW.!YW(2S\69H&0))%A2I)RO%'2P5*,IWBEN=-H;G/.0VK,A M>"ZF>A%4U92K:]>=HR^FAD+W5VQ_=<['VE=O!;K9AF=MB1DT>#K*>?L?KJ]B6;^H MN]VTS8M?T_;[VXPWJ?T/]]G8PS83I6W?B3&R5G7?U!?ROC)RV4BO5>1>V -^ MT]L]Q;TO_,CORKF?6R_G3MPW7GP@.XJ@/+BN@[$TD#I I$*<[Y,LFV(1OHD. M8]TI7&,-!>T<^6[DMA4B<+MW_N4A94BG%^=D3.1<"]*9.5*))7)168HIV1Q5 MR;K( W[30XDS$W-NU%SI 1]4!N5!G =C:2!U@$B%.-\G6:X8)DQI$:'S+9Z4 M/%%(25&5JCA3F8MR;Q;C0\IJ3B_.G(50DN94>4[4(N7F@40=B%DG1%31B=)+ M =&Q(V?1(F:>V()08L(02'[8S20C,*L&I\"I(<27)Z]"42K*2 M"N.>I5[*1$ZOQ%X+TY33DY65D0I%4+0Y$Q?"NB)M"*Z7XI]CA\EL;E0+E86! M$I^"\MX="FC_#?&R[!X>CXL>H)J[S^[%!L?]JK]2?9\G#1YLC5<79=9BEM55 MNYA?VCJ>+5?;]HMM_<[:U2W:RUZOP^7L35AO9ZLZVUZ439D]6W4&VI3_W+8?7+5/V#P]F:&!J5-A2MXQQ,7[8T9OFI+<$#"% MVB[YZW#YC_#+YH]/9O\&= P:'7>*]QYLB^]?/9N]7%V&]7SV?)E.QP[OC++S MJM('+/:WS7ON^MNJ_FU3AF&W3U#NKT3;L?/+[7UE[B>ZXE7ZWXOV5F6]^7__ MG[>BN>!_G'WW]^O%]I>3W_-!F.>KZV6XSNW#\A_.5R)WON9[M_VFZ+S[Z*YX MMUUI]RQ=AE]6U]OV;F]+\]5W[]RBA:?L]^^JU%-7E/]F4[[>E.:FM/5P>X3U M@^.M/R\VB[BX;.#[^MVK[SGG>OOFZBDW\O>=7>X++FY?],CG]5,N'OL>CWU> M/94GOP;S5)A37X-ZZMFIKV$(=M!/Y9^VWO\B\H">ZS& M&/O)U7RVBQ6X"EP%K@)7#9FK7C4;;Z[7OX"MP%9@J^/W"SE?,\.T,.WX M3 MR ()A6I@6Y $P[0P+,+GMG&[96<@" F\-Z=; MWP)O@;<&9FSPUF!Y"_[6N)82> N\-:1;RGG1=;T,E_\>U[-_^X\W89'I M^?+F+RF\66S;,V"UD2PTL!I8;4BWYF2LEM+UU?7EKH?=:GM1UK.N!>FZ7)3E M9O%SF5VN-H@Q1[/0P&I@M2'=FB&P6BYUD18(.$>SKD!B(+$AW9J3-7=8;=_% MFKOV#K=-?/_/S8_*30O?W>.O;CENF(?$07*]5V,\>O)-L^0 3NT_MC'^P^_. MG\-E6*8R"[MVW=^65+JI*C/)YS/!A!CVB*QIEE(\WK2/GAES6,..PH:C'I7U M>;N>CG'N'R(EBE:&)4W>Z](-KC04C>NF9Z52K*Z1N[(W:]D+5;GA%!*+I$KU MY)(69**T5CD?%-;V M8=9V?W9]R/#D 5M[X(C]F D/1'J_&QN:H52?4JK(LW U"/(V*%+,%8J,6TK5 MN"R4XW9_Q/*#E.J#4/=F3,U'4O5?+[]],MNTN]U^17ZH6"0A6! L"!80.SG$ M0I0^)4I,"^YCL10Y=Z2,UQ1B%<2,929J73U+=T5)\:8\/EC26@9240<*)F02 M)EJ=BQ*BAM[#IWOF[.HYDV*NG8,J88U#E4:*6(114*S?%$89(3.+F6H*+23* M)E#TTA,+.A2MLG)1]*)8/851^\+%H5?0*^@5$#LRQ$*3/J5)2OEV(;Z2"=Z5[ ,;Y&799%: M*.9(69,H^A:?69>KRRJJ[.71LGZ2Z[E4&J(%T8)HC12Q$*WCB];IA.BK=S=B M*AHJ66:)^THAU4R*<4M'>O FETDFS;.YJ*#,L.%MU^QW;Q-J!Q-AJHYY\1K M;7$JLX)<:7KI91:99DM#%4=,W2AJA.2L5RB-X4L*YI4B4W!DDAD?,A)&2V5B7=E MC+LDF4B:BF6U2[<6\MHXRMYZ55JT:#4_6KK5F+G2#.)UI&QK?_-Q/[1.=YW] M=6BY-5AGG-T[#X&)C[G2;PZ/S1:;S777U.UZO5B^GFTORNQ-62]6N5M/LY_+ MINOXUEZW72]2]W#7.&D6_A'6^81M+$^_?@;GFGRQ:<^:F([>#V\X*:K3,[[,"/N\3 M3=[@I_@S95W<^]L#]DZT,#8:0#"!<0"L8@? .HI M@QHT#,2."[&@88!ZA M2DE/3AA-N3CK=2S!R+W^H5(8QK.Q5)5D[7>\)!]MIBJ9RB[XP,/]K6_VL^G_ M'2ZORYVC<@,\,'8>@'(!L4 L @B >LJ@!@T#L>-"+&@8H$9! M$#AWHO!$TJ;?I(V319DD-467$BF5 SG+$M5LK%9!&V;V&NS;(FR*SE%(6I(2 M/E'D*9-A/$91JJM:(VESKCS00\7R;6DX*I8/Q07=0@S+5&:KVM;VU=5J>5N. M?/VF/2QORSHM-KMG;WZ\>M,MF0>4*:.#"CJH#-@KF70GO3%&@@ U0#VNA!P0 M"\2"A@'J\P(U:!B(18[N2#FZDFMUOD@JEAM2)GH*/C)*U@OG0F \E(.7*>^> M?'&3!_CN-D&0'UVB+(R>N" 2!80"\0B<@"HIPUJT# 0.R[$@H8!ZLF! M&C0,Q(X+L:!A@'IRH 8- ['(HQ]K3*M73*I:2&:32#ECR%<6*3#'JI.22[\W MZKSO N7/I]$??LY58W@K" "2!<0"L8@< .II@QHT#,2."[&@88 :-4#@W(G" M$]F:GD\]\B*DSY%2*K:K3'84G)54K76R>%^\V3OUV'=E,K(UDR #%$>?DGR MQT.4NY')E^5UN)QMRG9[6:[:B] 394">!WHAC+TG"J(]@!J@'GG2#8@%8D'# M /5Y@1HT#,0B#W>L#H'!6&&"(5>\).59["J)%?GV1# Q!E?T8ZJ/ZS8MOKZ) M_F^R<-^OUG_M0O^7[R/_1Y<96V_GTAOT ,1*AS8!L4 L0@2 >M*@!@T#L>-" M+&@8H)XCIYRK)16S)6\8I^!K MTLE&GKQY3)GQ%R3,O[G:]C8[IQD5>7,L>$@4$ O$(E( J"<-:M P$#LNQ(*& M 6H4]X!S)PI/9&=ZSLY(SXW5G$JVC%2*AJ+EC+BJ1F9O"\O\,67%R,Y,=L%C MLO$(RHC;*MK-+=ZM0#0K&9!7@5X%8V]6@D@.H :H1YY0 V*!6- P0'U>H 8- M ['(L1TIQU9SM:(40TX*0ZHH3M[Q0EIZK7SPF9F]'%OO XO;Q>^>VCQ^2/'< M.-E3I@W+?NS+'D(%Q *QB!< ZBF#&C0,Q(X+L:!A@'IRH 8- ['C0BQH&*"> M'*A!PT LLN='RIYG7K3.@I%@19#B)5!01I'0+@4NM%#RX&.*[T^>/_R@JID+ M+Y ^Q[J'4@&Q0"P"!H!ZTJ �.QXT(L:!B@1L$/.'>B\$22IM\DC36N6&8$ M66\**:TXQ1 RZ>2$EK$P(0X^G1A)FC&O>PPE'D$U<;?Z9JM:2[?TVG+>;!]0 M4XQ.):?OLG'65#/D3B4(ZP!J@'KDV34@%H@%#0/4YP5JT# 0.R[$@H8!ZLF! M&C0,Q(X+L:!A@'IRH 8- ['C0BQH&*">'*A!PT#LN! +&@:H)P=JT# 0.ZK# MF*=CX:_>W8BIG V-+&6NJZ%:@B6EF207@B"NL[%61R;D7OO+AQ3P?I/_YWJS M[2;*;%ZMOLEYT5U#N/PQ+/+SY;/P9K$-EQ^<'^W^#,M4GG6GV'HZ,BK[."\Z M%6KZ&(<'@MP?QD9;$-IQHGD4-APC8A'O -23 S5H&(@=%V)!PP UJG' N1.% M)W),D\XQ>2E9KEY0EMJ3DL%2<$Z1+Y69Z'TL^R-6'E)_C!S3L*CI=#DF3#\> M2;TRQ; IN:W]JS=EN0G=@D%;E %Y26B/,/:V*(A, 6J >N0)0B 6B 4- ]3G M!6K0,! [+L2"A@'JR8$:- S$C@NQH&& >G*@!@T#L>-"+&@8H)X[=]D-H>GID*>8*XO9 M,Z ,B!P0"\0BU@"HIPUJT# 0.R[$@H8!:E3"@',G"D_D=WHNT&7%F5@59,<"1EC%%E+G=C1"G21WSDORL!LX>'7ZOY0MK/+U0;SA(?DD4RE3< H M;(@H$%VC .H!@!HT#,2."[&@88!ZK)@1HT#,2."[&@88!Z\6)W[*$:&9IZ'9F(6\/#KBU]L+\IZ-P5X72[*-?4E%LKR[K]U;HOL5LL[I]*.P\F< _'D[#S);-L84\,$7 MQHT3P"26QG1;MH'N@6G0/>@>= ^Z'[2U0?<#P#3H'G2/I0&Z!]V?!:9!]Z![ M+ W0/>C^+# -N@?=8VF [D'W9X%IT#WH'DL#= ^Z/PM,@^Y!]U@:H'O0_5E@ M^E!TCX*6D12T\!R-]SF39**0*DQ0#,51]2596ZSF1M\M:&$BNE"*)"F,(J5" MPV#TD0JO45CG;2[L;D'+[A#]LP_/T/]:W_)#V;ZHK\+;ONM<]&#&Y(U#I(=: M.@H!'Z2T0, G+."(U\Y:"J:P-$YO17 [ #Q ;D=P-I+@+#DK-5.6DG&)E#.% MO(R>6,F<,RD-\ZF/;@,(SH:OR*/N4?#H[BIW>Q(,X1X;%\_9'OL=D]^Z'3\?R'[S]V-NKB;?1COH]W1V:_M<\OE K%C M1RS4Z%-JY&76T01/)KA,2KG00MXJ2'CII?/9>+'7BN]!:K1=I?^]6%VV&''S MW=^O%]M?OCP4ABAAB4.4@-B)(1:B]"E1*EX79IJL:*5:B,13$R6=#>E:0TJN M:)/L75'*3C@AM:3J:R05A: HJR);7%*9N6@8[SU$NJ%:W=4D5[RSS%4R M)2=27@=RUCK2LJ3L*M,UQR-$2JP;GS'7!H$2ECA$"8@=&V(A2I\2I1QR,3I9 MRK[R%O1D2XY+3L46X;U+(:K2BRAA3PE+'*($40)B(4J?C91"33(622+*K@J@ M:O(J[54!Y&"D*8&,$H):J&7(2VW(*::X%L++5(^6O9/"S3V3 M$"8L\":<9M8V MG61<&%*L!6\QE$*!Q\AL2K&RW*=.?EEM'#*+@RA\&S(K04?'B>91V! Z>M8Z M6ET4AKKL)); MIYN<'E]'A6%SPRS$]&S$]/06AG)".4>EG&.6JE*,%+5P4H4WV>$EDH\Y->UA MF;L4#"M^KWNES"+'DL@9TW[':4N1>T4A%%V;A)F8S-%2H\;-A<+AQF.M\AY: MF=SVG/G0.MUU]M?:Y-9@G7%V[SP$1^&8*_WFP-9LL=EU%F M;\IZLIK]7#;;]F1[W7:]2-W#3;="9^$?89TW:#DW(/>CGQY-IS?L*&PX MQE33^;8"!:@G"VK0,! [+L2"A@'JR8$:- S$(AEWK,/S.D7%K2 9N_,7PE0* M+#(2QGJ3:C&*[;4'5,Q(*T2BG%S[G2P\^1@":9>*#)Z7H.[?-WJ^2P]\N\L. M_+A+#-SD#7YZGQ+8O>R;+B'PE_5JLWE\V==<<#EGLH_M)-# V&D P@7$ K&( M'P#J*8,:- S$C@NQH&& >G*@!@T#L>-"+&@8H)XTS8IW M;:BZERM?/#F=!>ED0HZZ*"7N'U.)/,X9\$ /1(H8CX4%W0+,2Q3F:UJ M6]M75ZOE;87R]9OVL+PMZ[38[)Z]^?'J3;=D'E"YC,8IIV_Z<=9L-.3&*0@. M 6J >N3!(1 +Q(*& >KS C5H&(A%CNY(.3HC!;.I9JHB<%)<.')295(^BY!3 M*-*(@U'*A!PT#LN! +&@:H)P=JT# 0.R[$@H8!ZLF!&C0,Q(X+L:!A@'IR MH 8- ['C0BQH&*!&60LX=Z+P!.>"<\=5.8KQMX<>?QLN;^I"=X<],4*AVW47OUZF'=Q/E4"FL>:@4$ O$(JL% M4$\:U*!A('9^K6M'N?6A%O_+F_&[M99N[;7UO-EB"N^0? QT=D"[DLG%=0 U0#VN]!H0 M"\2"A@'J\P(U:!B('1=B0<, ]>1 #1H&8L>%6- P0#TY4(.&@=AQ(18T#%!/ M#M2@82!V7(@%#0/4DP,U:!B('=5IS-.Q\%?O;L14#H?ZZE+RTE$T09$JPI*7 MRE.IHI3@$U/[_4$?4L+[3?Z?Z\WVJEW*YM7JFYP7W36$RQ_#(C]?/@MO%MMP M^<$!TN[/L$SE67>*K:\SHZ*/LMZI<-/'0#P0YOXP-MZ"THX3S:.PX1@1BX ' MH)XKS C5H&(@=%V)!PP#UY$ -&@9BQX58T#! M/3E0@X:!V'$A%C0,4$\.U*!A('9M*@!@T#L>-"+&@8 MH$8E##AWHO!$?J??_$[1FA4='G*@ M!@T#L>-"+&@8H)XG*@!@T#L>-"+&@8H)XV$HJM/]8(8(J]FYAE53!AE@X5>,+*:4L.9\S\1BC M4<*SR-W=PJH?RO;Y,JVNRE]7F]\PRW#3,- >?6ZH(9LKKC#7< !S#5%K,W2^ M'SAT1V%#:.8Y:Z9*N59;$@FIFV9RX:C)I*)B(Q/&56Z"[*,8&9IY'IJ)6<## MKR]^L;THZ]T4X'6Y*,O-XN?RP'IC=$ Y??>.?TE%L;VZK-];H?L6L\WJM./PLJ? ?#G[3S(;-D84\ '7Q@W3@"36!K3;=D&N@>F0?>@>] ]Z'[0 MU@;=#P#3H'O0/98&Z!YT?Q:8!MV#[K$T0/>@^[/ -.@>=(^E ;H'W9\%ID'W MH'LL#= ]Z/XL, VZ!]UC:8#N0?=G@>E#T3T*6D92T,*K"T%61[SX3,K;3$%G M3\X[%C,SK#U]MZ"%URS:+Q5*/&A2PG!R3$H21EK&DBV%E;L%+;M#],\^/$/_ M:WW+#V7[HKX*;_NNJC%HY#P08H+)'S"$HZ([:RE8 I+X_16 M!+<#P /D=H1G(PG/3$W9*:])&]5"+59,"[6$)UN83D8+EY/OH]\ PK,Q:/*H M^Q0\NL/*W;X$0[@'QV2(/X?+L$QE%C:S59W]?]?+,I-L/A-,2+1C&I"+-96N M**.PX0C;,8W9'V',.9M;%\_9'SL=D]^Z'7\?R'[S_V M-NKB;?1CPH^/1V:_M(+>5D< M^1)SXMG&F'4O:K1=I?^]6%VV$''SW=^O%]M?OCP6ABAAB4.4@-B)(1:B].FV MZEE;;21QSB.IY U%IP1%(5/E+H3*TUU1LM%H;4T@EDT3,A8%>:,96:F]3R6I M*OH/D?;[PG(W[_X5@D&5L,:A2D#LR! +5?IDXJXZ(550I$4(I+13Y+**E$)Q MWCB6DMY+W#U(E7H*E?;%24"3L,*A24#LR! +3?J4)C4!\9:U2,E:K4G9*"EF M5LC(+$QN\B2JV:L]2*(*$3PYWAV(*:H]RJQ%5RJ&8)6P5M@C1$IL;HV8:V,@ M2ECB$"4@=F2(A2A]2I2\$D:F$B@$HTCE%-NC(BF'&&61F5FWE[Y[D"AA3PE+ M'*($40)B(4J?$Z4V5 1PL>R,\EJZ$*X/G7R M"XOC+ ;T#J'P;D#.2EX9#D& MP]3^R?J0BW&N2YJJ;CNO_;:SGIBN+0Y-VJ78:\#Y94(J+)\SP2&F9R.FI[