0001558370-23-015513.txt : 20230906 0001558370-23-015513.hdr.sgml : 20230906 20230906163040 ACCESSION NUMBER: 0001558370-23-015513 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 82 CONFORMED PERIOD OF REPORT: 20230731 FILED AS OF DATE: 20230906 DATE AS OF CHANGE: 20230906 FILER: COMPANY DATA: COMPANY CONFORMED NAME: ARGAN INC CENTRAL INDEX KEY: 0000100591 STANDARD INDUSTRIAL CLASSIFICATION: CONSTRUCTION SPECIAL TRADE CONTRACTORS [1700] IRS NUMBER: 131947195 STATE OF INCORPORATION: DE FISCAL YEAR END: 0131 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-31756 FILM NUMBER: 231239580 BUSINESS ADDRESS: STREET 1: ONE CHURCH STREET SUITE 201 CITY: ROCKVILLE STATE: MD ZIP: 20850 BUSINESS PHONE: 301 315-0027 MAIL ADDRESS: STREET 1: ONE CHURCH STREET SUITE 201 CITY: ROCKVILLE STATE: MD ZIP: 20850 FORMER COMPANY: FORMER CONFORMED NAME: PUROFLOW INC DATE OF NAME CHANGE: 19920703 FORMER COMPANY: FORMER CONFORMED NAME: ULTRA DYNAMICS CORP DATE OF NAME CHANGE: 19830522 10-Q 1 agx-20230731x10q.htm 10-Q
0000100591--01-312024Q2falseARGAN INC000.250.2515828289P2Yhttp://fasb.org/us-gaap/2023#Investmentshttp://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2023#LiabilitiesNoncurrentP9MP24M0.3333P3YP3Y0.250.250000100591agx:FraudulentlyInducedPaymentMember2023-02-012023-07-310000100591us-gaap:TreasuryStockCommonMember2022-05-012022-07-310000100591us-gaap:TreasuryStockCommonMember2022-02-012022-07-310000100591us-gaap:CommonStockMember2022-05-012022-07-310000100591us-gaap:TreasuryStockCommonMember2023-05-012023-07-310000100591us-gaap:TreasuryStockCommonMember2023-02-012023-07-310000100591us-gaap:CommonStockMember2023-05-012023-07-310000100591us-gaap:CommonStockMember2023-02-012023-07-310000100591us-gaap:CommonStockMember2022-02-012022-07-310000100591us-gaap:TreasuryStockCommonMember2023-07-310000100591us-gaap:RetainedEarningsMember2023-07-310000100591us-gaap:AdditionalPaidInCapitalMember2023-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-310000100591us-gaap:TreasuryStockCommonMember2023-04-300000100591us-gaap:RetainedEarningsMember2023-04-300000100591us-gaap:AdditionalPaidInCapitalMember2023-04-300000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-3000001005912023-04-300000100591us-gaap:TreasuryStockCommonMember2023-01-310000100591us-gaap:RetainedEarningsMember2023-01-310000100591us-gaap:AdditionalPaidInCapitalMember2023-01-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-310000100591us-gaap:TreasuryStockCommonMember2022-07-310000100591us-gaap:RetainedEarningsMember2022-07-310000100591us-gaap:NoncontrollingInterestMember2022-07-310000100591us-gaap:AdditionalPaidInCapitalMember2022-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-310000100591us-gaap:TreasuryStockCommonMember2022-04-300000100591us-gaap:RetainedEarningsMember2022-04-300000100591us-gaap:NoncontrollingInterestMember2022-04-300000100591us-gaap:AdditionalPaidInCapitalMember2022-04-300000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-3000001005912022-04-300000100591us-gaap:TreasuryStockCommonMember2022-01-310000100591us-gaap:RetainedEarningsMember2022-01-310000100591us-gaap:NoncontrollingInterestMember2022-01-310000100591us-gaap:AdditionalPaidInCapitalMember2022-01-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-310000100591us-gaap:CommonStockMember2023-07-310000100591us-gaap:CommonStockMember2023-04-300000100591us-gaap:CommonStockMember2023-01-310000100591us-gaap:CommonStockMember2022-07-310000100591us-gaap:CommonStockMember2022-04-300000100591us-gaap:CommonStockMember2022-01-3100001005912022-02-012023-01-310000100591agx:IncentiveStockOptionsMemberagx:StockPlanMember2023-02-012023-07-310000100591us-gaap:RestrictedStockUnitsRSUMember2023-07-310000100591us-gaap:RestrictedStockUnitsRSUMember2023-01-310000100591us-gaap:RestrictedStockUnitsRSUMember2022-07-310000100591us-gaap:EmployeeStockOptionMember2023-02-012023-07-3100001005912023-08-012023-07-310000100591country:US2023-05-012023-07-310000100591country:IE2023-05-012023-07-310000100591country:GB2023-05-012023-07-310000100591country:US2023-02-012023-07-310000100591country:IE2023-02-012023-07-310000100591country:GB2023-02-012023-07-310000100591country:US2022-05-012022-07-310000100591country:IE2022-05-012022-07-310000100591country:GB2022-05-012022-07-310000100591country:US2022-02-012022-07-310000100591country:IE2022-02-012022-07-310000100591country:GB2022-02-012022-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-05-012023-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-02-012023-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-05-012022-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-02-012022-07-310000100591agx:LettersOfCreditExpireOnMay312024Memberus-gaap:RevolvingCreditFacilityMember2023-03-060000100591us-gaap:LetterOfCreditMember2023-07-310000100591us-gaap:LetterOfCreditMember2023-01-310000100591us-gaap:OtherNonoperatingIncomeExpenseMember2023-05-012023-07-310000100591us-gaap:OtherNonoperatingIncomeExpenseMember2023-02-012023-07-310000100591us-gaap:OtherNonoperatingIncomeExpenseMember2022-05-012022-07-310000100591us-gaap:OtherNonoperatingIncomeExpenseMember2022-02-012022-07-310000100591agx:GemmaPowerSystemsMemberus-gaap:FinancialGuaranteeMember2023-07-310000100591agx:RobertsCompanyIncMember2023-07-310000100591agx:GemmaPowerSystemLlcMember2023-07-310000100591agx:RobertsCompanyIncMember2023-01-310000100591agx:GemmaPowerSystemLlcMember2023-01-310000100591us-gaap:TradeNamesMember2023-07-310000100591us-gaap:CustomerRelationshipsMember2023-07-310000100591us-gaap:TradeNamesMember2023-01-310000100591us-gaap:CustomerRelationshipsMember2023-01-310000100591us-gaap:RetainedEarningsMember2023-05-012023-07-310000100591us-gaap:RetainedEarningsMember2023-02-012023-07-310000100591us-gaap:RetainedEarningsMember2022-05-012022-07-310000100591us-gaap:RetainedEarningsMember2022-02-012022-07-310000100591us-gaap:CorporateNonSegmentMember2023-05-012023-07-310000100591us-gaap:CorporateNonSegmentMember2023-02-012023-07-310000100591us-gaap:CorporateNonSegmentMember2022-05-012022-07-310000100591us-gaap:CorporateNonSegmentMember2022-02-012022-07-3100001005912021-01-310000100591srt:MinimumMemberus-gaap:USTreasuryNotesSecuritiesMember2023-07-310000100591srt:MaximumMemberus-gaap:USTreasuryNotesSecuritiesMember2023-07-310000100591us-gaap:RevolvingCreditFacilityMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2023-03-062023-03-060000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2023-05-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2023-05-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2023-02-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2023-02-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2022-05-012022-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2022-02-012022-07-310000100591agx:MajorCustomerTwoMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-05-012023-07-310000100591agx:MajorCustomerThreeMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-05-012023-07-310000100591agx:MajorCustomerOneMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-05-012023-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-05-012023-07-310000100591agx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-05-012023-07-310000100591agx:MajorCustomerTwoMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerThreeMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerOneMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerOneMemberagx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerTwoMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerTwoMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerThreeMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerThreeMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerOneMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerTwoMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-05-012022-07-310000100591agx:MajorCustomerOneMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-05-012022-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2022-05-012022-07-310000100591agx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2022-05-012022-07-310000100591agx:MajorCustomerTwoMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-02-012023-01-310000100591agx:MajorCustomerThreeMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-02-012023-01-310000100591agx:MajorCustomerOneMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2022-02-012023-01-310000100591agx:MajorCustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-02-012023-01-310000100591agx:MajorCustomerOneMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-02-012022-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2022-02-012022-07-310000100591agx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2022-02-012022-07-3100001005912023-06-202023-06-2000001005912023-04-102023-04-1000001005912022-07-312022-07-3100001005912023-07-312023-07-3100001005912023-04-282023-04-2800001005912022-07-292022-07-2900001005912022-04-292022-04-290000100591us-gaap:EmployeeStockOptionMember2023-07-310000100591agx:Plan2020Member2023-06-200000100591agx:Plan2020Member2020-06-2300001005912022-01-310000100591us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2023-07-310000100591us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2023-01-310000100591us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-07-310000100591us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-07-310000100591us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-01-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2023-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2023-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2023-07-310000100591us-gaap:CorporateNonSegmentMember2023-07-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2022-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2022-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2022-07-310000100591us-gaap:CorporateNonSegmentMember2022-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2023-05-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2023-02-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2022-05-012022-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2022-05-012022-07-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2022-02-012022-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2022-02-012022-07-310000100591us-gaap:AdditionalPaidInCapitalMember2023-05-012023-07-310000100591us-gaap:AdditionalPaidInCapitalMember2023-02-012023-07-310000100591us-gaap:AdditionalPaidInCapitalMember2022-05-012022-07-310000100591us-gaap:AdditionalPaidInCapitalMember2022-02-012022-07-3100001005912023-09-010000100591us-gaap:HeldtomaturitySecuritiesMember2023-07-310000100591us-gaap:HeldtomaturitySecuritiesMember2023-01-310000100591agx:FraudulentlyInducedPaymentMember2023-03-072023-03-0700001005912023-05-012023-07-3100001005912022-05-012022-07-310000100591srt:MinimumMember2023-02-012023-07-310000100591srt:MaximumMember2023-02-012023-07-3100001005912022-07-310000100591us-gaap:RestrictedStockUnitsRSUMember2023-02-012023-07-310000100591srt:ExecutiveOfficerMemberagx:PerformanceBasedRestrictedStockUnitsMemberagx:StockPlanMember2023-02-012023-07-310000100591agx:TimeBasedRestrictedStockUnitsMember2023-07-310000100591agx:RenewablePerformanceBasedRestrictedStockUnitsMember2023-07-310000100591agx:PerformanceBasedRestrictedStockUnitsMember2023-07-310000100591agx:EarningsPerSharePerformanceBasedRestrictedStockUnitsMember2023-07-310000100591agx:TimeBasedRestrictedStockUnitsMember2022-07-310000100591agx:RenewablePerformanceBasedRestrictedStockUnitsMember2022-07-310000100591agx:PerformanceBasedRestrictedStockUnitsMember2022-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-05-012023-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591us-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-05-012022-07-310000100591us-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2022-02-012023-01-310000100591us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-02-012023-01-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-02-012022-07-310000100591us-gaap:RevolvingCreditFacilityMember2023-03-062023-03-060000100591us-gaap:HeldtomaturitySecuritiesMember2023-02-012023-07-310000100591us-gaap:HeldtomaturitySecuritiesMember2022-02-012023-01-3100001005912022-02-012022-07-3100001005912020-01-310000100591us-gaap:USTreasuryNotesSecuritiesMember2023-07-3100001005912023-02-012023-07-3100001005912023-07-3100001005912023-01-31iso4217:USDagx:customerxbrli:sharesxbrli:pureiso4217:USDxbrli:sharesagx:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-Q

(Mark One)

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

For the Quarterly Period Ended

July 31, 2023

or

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

For the Transition Period from                      to                     

Commission File Number 001-31756

Graphic

(Exact Name of Registrant as Specified in Its Charter)

Delaware

    

13-1947195

(State or Other Jurisdiction of Incorporation)

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

One Church Street, Suite 201, Rockville, Maryland 20850

(Address of Principal Executive Offices) (Zip Code)

(301) 315-0027

(Registrant’s Telephone Number, Including Area Code)

(Former Name, Former Address and Former Fiscal Year, if Changed since Last Report)

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 (the “Exchange Act”) 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 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, 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 Exchange Act).    Yes      No  

Title of Each Class

    

Trading Symbol(s)

    

Name of Each Exchange on Which Registered

Common Stock, $0.15 par value

AGX

New York Stock Exchange

Indicate the number of shares outstanding of each of the Registrant’s classes of common stock, as of the latest practicable date.

Common stock, $0.15 par value: 13,318,653 shares as of September 1, 2023.

ARGAN, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS

(In thousands, except per share data)

(Unaudited)

    

Three Months Ended

Six Months Ended

July 31, 

July 31, 

    

2023

    

2022

    

2023

    

2022

REVENUES

$

141,349

$

118,110

$

245,024

$

218,387

Cost of revenues

 

117,607

 

93,723

 

207,058

 

174,262

GROSS PROFIT

 

23,742

 

24,387

 

37,966

 

44,125

Selling, general and administrative expenses

 

10,501

 

10,984

 

21,092

 

21,559

INCOME FROM OPERATIONS

 

13,241

 

13,403

 

16,874

 

22,566

Other income, net

 

4,118

 

505

 

3,489

 

1,100

INCOME BEFORE INCOME TAXES

 

17,359

 

13,908

 

20,363

 

23,666

Income tax expense

 

4,592

 

9,686

 

5,487

 

11,959

NET INCOME

 

12,767

 

4,222

 

14,876

 

11,707

Foreign currency translation adjustments

(185)

(687)

255

(1,951)

Net unrealized losses on available-for-sale securities

(683)

(720)

COMPREHENSIVE INCOME

$

11,899

$

3,535

$

14,411

$

9,756

NET INCOME PER SHARE

Basic

$

0.95

$

0.30

$

1.11

$

0.81

Diluted

$

0.94

$

0.30

$

1.10

$

0.80

WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING

Basic

 

13,403

 

14,134

 

13,408

 

14,516

Diluted

 

13,542

 

14,247

 

13,544

 

14,616

CASH DIVIDENDS PER SHARE

$

0.25

$

0.25

$

0.50

$

0.50

The accompanying notes are an integral part of these condensed consolidated financial statements.

2

ARGAN, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED BALANCE SHEETS

(Dollars in thousands, except per share data)

    

July 31, 

    

January 31, 

    

2023

    

2023

(Unaudited)

(Note 1)

ASSETS

CURRENT ASSETS

Cash and cash equivalents

$

204,799

$

173,947

Investments

141,616

151,511

Accounts receivable, net

 

44,532

 

50,132

Contract assets

 

20,747

 

24,778

Other current assets

 

43,438

 

38,334

TOTAL CURRENT ASSETS

 

455,132

 

438,702

Property, plant and equipment, net

 

10,457

 

10,430

Goodwill

 

28,033

 

28,033

Intangible assets, net

2,413

2,609

Deferred taxes, net

3,910

3,689

Right-of-use and other assets

5,763

6,024

TOTAL ASSETS

$

505,708

$

489,487

LIABILITIES AND STOCKHOLDERS' EQUITY

CURRENT LIABILITIES

Accounts payable

$

31,530

$

56,375

Accrued expenses

 

67,620

 

49,867

Contract liabilities

 

116,456

 

96,261

TOTAL CURRENT LIABILITIES

 

215,606

 

202,503

Noncurrent liabilities

5,066

6,087

TOTAL LIABILITIES

 

220,672

 

208,590

COMMITMENTS AND CONTINGENCIES (see Notes 7 and 8)

STOCKHOLDERS’ EQUITY

Preferred stock, par value $0.10 per share – 500,000 shares authorized; no shares issued and outstanding

 

 

Common stock, par value $0.15 per share – 30,000,000 shares authorized; 15,828,289 shares issued;13,353,653 and 13,441,590 shares outstanding at July 31, 2023 and January 31, 2023, respectively

 

2,374

 

2,374

Additional paid-in capital

 

162,323

 

162,208

Retained earnings

 

216,009

 

207,832

Less treasury stock, at cost – 2,474,636 and 2,386,699 shares at July 31, 2023 and January 31, 2023, respectively

(92,329)

(88,641)

Accumulated other comprehensive loss

(3,341)

(2,876)

TOTAL STOCKHOLDERS’ EQUITY

 

285,036

 

280,897

TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY

$

505,708

$

489,487

The accompanying notes are an integral part of these condensed consolidated financial statements.

3

ARGAN, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

FOR THE THREE AND SIX MONTHS ENDED JULY 31, 2023 AND 2022

(Dollars in thousands)

(Unaudited)

Common Stock

Additional

Accumulated

    

Outstanding

    

Par

    

Paid-in

    

Retained

    

Treasury

    

Other Comprehensive

    

Non-controlling

    

Total

Shares

Value

Capital

Earnings

Stock

Loss

Interest

Equity

Balances, May 1, 2023

 

13,414,404

$

2,374

$

161,347

$

206,584

$

(89,883)

$

(2,473)

$

$

277,949

Net income

 

12,767

12,767

Foreign currency translation loss

(185)

(185)

Net unrealized losses on available-for-sale securities

(683)

(683)

Stock compensation expense

1,184

1,184

Stock option exercises and other share-based award settlements

 

16,381

(208)

611

403

Common stock repurchases

(77,132)

(3,057)

(3,057)

Cash dividends

 

(3,342)

(3,342)

Balances, July 31, 2023

 

13,353,653

$

2,374

$

162,323

$

216,009

$

(92,329)

$

(3,341)

$

$

285,036

Balances, May 1, 2022

14,585,908

$

2,374

$

159,170

$

192,463

$

(47,482)

$

(3,715)

$

(797)

$

302,013

Net income

4,222

4,222

Foreign currency translation loss

(687)

(687)

Stock compensation expense

1,059

1,059

Common stock repurchases

 

(701,713)

(26,091)

(26,091)

Cash dividends

(3,480)

(3,480)

Balances, July 31, 2022

13,884,195

$

2,374

$

160,229

$

193,205

$

(73,573)

$

(4,402)

$

(797)

$

277,036

Balances, February 1, 2023

 

13,441,590

$

2,374

$

162,208

$

207,832

$

(88,641)

$

(2,876)

$

$

280,897

Net income

 

14,876

14,876

Foreign currency translation gain

255

255

Net unrealized losses on available-for-sale securities

(720)

(720)

Stock compensation expense

2,218

2,218

Stock option exercises and other share-based award settlements

 

81,851

(2,103)

3,050

947

Common stock repurchases

(169,788)

(6,738)

(6,738)

Cash dividends

 

(6,699)

(6,699)

Balances, July 31, 2023

 

13,353,653

$

2,374

$

162,323

$

216,009

$

(92,329)

$

(3,341)

$

$

285,036

Balances, February 1, 2022

15,257,688

$

2,368

$

158,190

$

188,690

$

(20,405)

$

(2,451)

$

(797)

$

325,595

Net income

11,707

11,707

Foreign currency translation loss

(1,951)

(1,951)

Stock compensation expense

1,979

1,979

Stock option exercises and other share-based award settlements

39,099

6

60

66

Common stock repurchases

(1,412,592)

(53,168)

(53,168)

Cash dividends

(7,192)

(7,192)

Balances, July 31, 2022

13,884,195

$

2,374

$

160,229

$

193,205

$

(73,573)

$

(4,402)

$

(797)

$

277,036

The accompanying notes are an integral part of these condensed consolidated financial statements.

4

ARGAN, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(In thousands)

(Unaudited)

    

Six Months Ended July 31, 

    

2023

    

2022

CASH FLOWS FROM OPERATING ACTIVITIES

Net income

$

14,876

$

11,707

Adjustments to reconcile net income to net cash used in operating activities

Stock compensation expense

2,218

1,979

Depreciation

1,035

1,556

Lease expense

 

884

 

1,319

Changes in accrued interest on investments

(341)

(617)

Deferred income tax (benefit) expense

(196)

373

Amortization of intangible assets

 

196

 

399

Equity in loss (income) of solar energy investments

98

(1,070)

Other

 

64

 

8

Changes in operating assets and liabilities

Accounts receivable

 

5,600

 

2,090

Contract assets

4,031

(3,774)

Other assets

 

(5,176)

 

9,252

Accounts payable and accrued expenses

 

(8,931)

 

(16,124)

Contract liabilities

20,195

(63,874)

Net cash provided by (used in) operating activities

 

34,553

 

(56,776)

CASH FLOWS FROM INVESTING ACTIVITIES

Purchases of short-term investments

(90,000)

(175,000)

Maturities of short-term investments

159,750

90,000

Purchases of available-for-sale securities

(60,261)

Purchases of property, plant and equipment

 

(1,031)

 

(638)

Net cash provided by (used in) investing activities

 

8,458

 

(85,638)

CASH FLOWS FROM FINANCING ACTIVITIES

Common stock repurchases

(6,738)

(53,168)

Payments of cash dividends

 

(6,699)

 

(7,192)

Proceeds from the exercise of stock options

 

947

 

66

Net cash used in financing activities

 

(12,490)

 

(60,294)

EFFECTS OF EXCHANGE RATE CHANGES ON CASH

331

(4,420)

NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS

 

30,852

 

(207,128)

CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD

173,947

350,472

CASH AND CASH EQUIVALENTS, END OF PERIOD

$

204,799

$

143,344

SUPPLEMENTAL CASH FLOW INFORMATION (see Notes 7 and 10)

The accompanying notes are an integral part of these condensed consolidated financial statements.

 

5

ARGAN, INC. AND SUBSIDIARIES

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

July 31, 2023

(Tabular dollar amounts in thousands, except per share data)

(Unaudited)

NOTE 1 – DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION

Description of the Business

Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.”

Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The wide range of customers includes primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with customer projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.

Basis of Presentation and Significant Accounting Policies

The condensed consolidated financial statements include the accounts of Argan, its wholly-owned subsidiaries and a variable interest entity (“VIE”) prior to its deconsolidation in the fourth quarter of the year ended January 31, 2023. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 14, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions.

The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2023, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended July 31, 2023 and 2022 are unaudited. The condensed consolidated balance sheet as of January 31, 2023 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (“Fiscal 2023”).

In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2023, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.

6

Recently Issued Accounting Pronouncements

In March 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-02, Investments—Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method (“ASU 2023-02”), which provides an election to account for tax equity investments using the proportional amortization method, if certain conditions are met. Under the proportional amortization method, the initial cost of an investment is amortized in proportion to the amount of the tax credits and other tax benefits received and presented net as a component of income tax expense. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within those fiscal years. The Company’s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method under this guidance.

There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.

Available-For-Sale Securities

At each balance sheet date, available-for-sale (“AFS”) securities are recorded at fair value, with unrealized gains and losses, net of income taxes, reported as a component of accumulated other comprehensive loss. Interest income, accretion of discounts, amortization of premiums, realized gains and losses are included in other income or expense, as applicable, in the Company’s condensed consolidated statement of earnings. The Company determines the cost of securities sold based on the specific identification method. The Company determines the appropriate classification of AFS securities based on whether they represent the investment of cash available for current operations, as defined in Accounting Standards Codification (“ASC”) 210-10-45-1 and ASC 210-10-45-2. The classification of the AFS securities is reevaluated at each balance sheet date.

The Company evaluates whether a decline in the fair value of AFS securities below amortized cost basis is credit-related or due to other factors. If the Company intends to sell the AFS security or it is more likely than not the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security’s amortized cost basis. If a portion of the unrealized loss is credit-related, the impairment is recorded as an allowance on the balance sheet with a corresponding adjustment to earnings. Credit recovery is recorded as an adjustment to the allowance and earnings in the period in which credit conditions improve.

Fair Values

ASC Topic 820, Fair Value Measurement, establishes a fair value hierarchy that requires an entity to maximize the use of observable inputs and to minimize the use of unobservable inputs when measuring fair value. Fair value is the price that would be received to sell an asset or paid to transfer a liability in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The fair value hierarchy prioritizes the inputs into three levels that may be used to measure fair value:

Level 1 – Inputs are unadjusted quoted prices in active markets for identical assets or liabilities.

Level 2 – Inputs are quoted prices for similar assets or liabilities in active markets; or quoted prices for identical or similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.

Level 3 – Inputs are unobservable inputs based on a company’s own assumptions.

At July 31, 2023 and January 31, 2023, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments. The money market fund was classified as Level 1 due to the short-term nature of these instruments and as their fair value is based on quoted prices in active markets for identical assets. As of July 31, 2023, all of the Company’s available-for-sale securities were U.S. Treasury notes and were classified as Level 2, as their fair value is measured based on quoted prices in active markets for similar assets.  As of July 31, 2023 and January 31, 2023, the Company did not have any financial assets measured on a recurring basis using Level 3 inputs. The carrying value amounts presented in the condensed consolidated balance sheets for the Company’s other current assets, including cash, certificates of deposit (“CDs”), accounts receivable and contract assets, and its current liabilities are reasonable estimates of their fair values due to the short-term nature of these items.

7

The following table shows the Company’s financial instruments as of July 31, 2023 and January 31, 2023 that are measured and recorded at fair value on a recurring basis:

July 31, 2023

January 31, 2023

Level 1

Level 2

Level 3

Level 1

Level 2

Level 3

    

Inputs

    

Inputs

Inputs

    

Inputs

Inputs

    

Inputs

Money market fund

$

127,064

$

$

$

68,647

$

$

Available-for-sale securities

59,992

Totals

$

127,064

$

59,992

$

$

68,647

$

$

Treasury Stock

Treasury stock is recorded using the cost method. Incremental direct costs to purchase treasury stock, including excise tax, are included in the cost of the shares acquired. The Company uses the average cost method to account for treasury stock. For treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For treasury stock provided for settlements or sold at a price lower than its cost, the loss is recorded to additional paid-in capital to the extent there are previous net gains included in additional paid-in capital. Any losses in excess of that amount are recorded to retained earnings.

NOTE 2 – REVENUES FROM CONTRACTS WITH CUSTOMERS

The Company’s accounting for revenues on contracts with customers is based on a single comprehensive five-step model that requires reporting entities to:

1.Identify the contract,
2.Identify the performance obligations of the contract,
3.Determine the transaction price of the contract,
4.Allocate the transaction price to the performance obligations, and
5.Recognize revenue.

The Company focuses on the transfer of the contractor’s control of the goods and/or services to the customer. When a performance obligation is satisfied over time, the related revenues are recognized over time. The Company’s revenues are recognized primarily under various types of long-term construction contracts, including those for which revenues are based on either a fixed-price or a time-and-materials basis, and primarily over time as performance obligations are satisfied due to the continuous transfer of control to the project owner or other customer.

Revenues from fixed-price contracts, including portions of estimated gross profit, are recognized as services are provided, based on costs incurred and estimated total contract costs using the cost-to-cost approach. If, at any time, the estimate of contract profitability indicates an anticipated loss on a contract, the Company will recognize the total loss in the reporting period in which it is identified and the loss amount becomes estimable. Revenues from time-and-materials contracts are recognized when the related services are provided to the customer.

Predominantly all of the Company’s fixed-price contracts are considered to have a single performance obligation. Although multiple promises to transfer individual goods or services may exist, they are not typically distinct within the context of such contracts because contract promises included therein are interrelated or the contracts require the Company to perform critical integration so that the customer receives a completed project. Warranties provided under the Company’s contracts with customers are assurance-type primarily and are recorded as the corresponding contract work is performed.

The transaction price for a customer contract represents the value of the contract awarded to the Company that is used to determine the amount of revenues recognized as of the balance sheet date. It may reflect amounts of variable consideration which could be either increases or decreases to the transaction price. These adjustments can be made from time-to-time during the period of contract performance as circumstances evolve related to such items as changes in the scope and price of contracts, claims, incentives and liquidated damages.

The Company’s timing of revenue recognition may not be consistent with its rights to bill and collect cash from project owners and other customers. Most contracts require payments as the corresponding work progresses that are determined in the manner described therein. Those rights are generally dependent upon advance billing terms, milestone billings based

8

on the completion of certain phases of work or when services are performed. On most of the Company’s large contracts, milestone billings that occur early in the corresponding contract terms typically are made in advance of certain significant and related costs being incurred. This results in typically larger contract liability balances early in contract lives that decline over the terms of the corresponding contracts. During the six months ended July 31, 2023 and 2022, there were no unusual or one-time adjustments to contract liabilities.

The balances of the Company’s accounts receivable represent amounts billed to customers that have yet to be collected and represent an unconditional right to receive cash from its customers. Contract assets include amounts that represent the rights to receive payment for goods or services that have been transferred to the customer, with the rights conditional upon something other than the passage of time. Contract liabilities include amounts that reflect obligations to provide goods or services for which payment has been received. The amounts of revenues recognized during the six months ended July 31, 2023 and 2022, that were included in the balances of contract liabilities as of January 31, 2023 and 2022, respectively, were approximately $87.0 million and $127.6 million, respectively. The amounts of revenues recognized during the three months ended July 31, 2023 and 2022 that were included in the balances of contract liabilities as of April 30, 2023 and 2022, respectively, were approximately $64.7 million and $83.2 million, respectively.

Contract retentions are billed amounts which, pursuant to the terms of the applicable contract, are not paid by customers until a defined phase of a contract or project has been completed and accepted. These retained amounts are reflected in contract assets or contract liabilities depending on the net contract position of the particular contract. Retention amounts and the length of retention periods may vary. Retainage amounts related to active contracts are considered current regardless of the term of the applicable contract; such amounts are generally collected by the completion of the applicable contract. The amounts retained by project owners and other customers under construction contracts at July 31, 2023 and January 31, 2023 were $28.1 million and $49.1 million, respectively.

Variable Consideration

Amounts for unapproved change orders for which the Company has project-owner directive for additional work or other scope change, but not for the price associated with the corresponding additional effort, are included in the transaction price when it is considered probable that the applicable costs will be recovered through a modification to the contract price. The effects of any revision to a transaction price can be determined at any time and they could be material. The Company also includes in the corresponding transaction price an estimate of the amount that it expects to receive from a claim based on management’s judgment regarding all reasonably available information. Once a final amount has been determined, the transaction price may be revised again to reflect the final resolution. At July 31, 2023 and January 31, 2023, the aggregate amounts of such unapproved change orders included in the transaction prices that were still pending customer approval were $12.8 million and $11.6 million, respectively. Variations related to the Company’s contracts typically represent modifications to the existing contracts and performance obligations and do not represent new performance obligations. Actual costs related to any changes in the scope of the corresponding contract are expensed as they are incurred. Changes to total estimated contract costs and losses, if any, are reflected in operating results for the period in which they are determined.

The Company’s long-term contracts typically have schedule dates and other performance objectives that if not achieved could subject the Company to liquidated damages. These contract requirements generally relate to specified activities that must be completed by an established date or by the achievement of a specified level of output or efficiency. Each applicable contract defines the conditions under which a project owner may be entitled to any liquidated damages. At the outset of each of the Company’s contracts, the potential amounts of liquidated damages typically are not subtracted from the transaction price as the Company believes that it has included activities in its contract plan, and the associated forecasted contract costs, that will be effective in preventing such damages. Of course, circumstances may change as the Company executes the corresponding contract. The transaction price is reduced by an applicable amount when the Company no longer considers it probable that a future reversal of revenues will not occur when the matter is resolved. The Company considers potential liquidated damages, the costs of other related items and potential mitigating factors in determining the adequacy of its regularly updated estimates of the amounts of gross profit expected to be earned on active projects.

In other cases, the Company may have the grounds to assert liquidated damages against subcontractors, suppliers, project owners or other parties related to a project. Such circumstances may arise when the Company’s activities and progress are adversely affected by delayed or damaged materials, challenges with equipment performance or other events out of the

9

Company’s control where the Company has rights to recourse, typically in the form of liquidated damages. In general, the Company does not adjust the corresponding contract accounting until it is probable that the favorable cost relief will be realized. Such adjustments have been and could be material.

The Company records adjustments to revenues and profits on contracts, including those associated with contract variations and estimated cost changes, using a cumulative catch-up method. Under this method, the impact of an adjustment to the amount of revenues recognized to date is recorded in the period that the adjustment is identified. Estimated variable consideration amounts are determined by the Company based primarily on the single most likely amount in the range of possible consideration amounts. Revenues and profits in future periods of contract performance are recognized using the adjusted amounts of transaction price and estimated contract costs.

Remaining Unsatisfied Performance Obligations (“RUPO”)

Substantially all of the Company’s customer contracts include the right for customers to terminate contracts for convenience. The value of future work the Company is contractually obligated to perform pursuant to active customer contracts should not be included in the disclosure of RUPO when the corresponding contracts include termination for convenience clauses without substantial penalties accruing to the customers upon such terminations. Management assesses whether the nature of the work being performed under contract is largely service-based and repetitive and should be considered a succession of one-month contracts for the duration of the identified term of the contract. Predominantly, the Company’s customers contract with the Company to construct assets, to fabricate materials or to perform emergency maintenance or outage services where management believes substantial penalties or costs would be incurred upon a termination for convenience including the costs of terminating subcontracts, canceling purchase orders and returning or otherwise disposing of delivered materials and equipment. The value of RUPO on customer contracts represents amounts based on contracts or orders received from customers that the Company believes are firm and where the parties are acting in accordance with their respective obligations. The cancellation or termination of contracts for the convenience of customers has not had a material adverse effect on our consolidated financial statements.

At July 31, 2023, the Company had RUPO of $0.7 billion. The largest portion of RUPO at any date usually relates to engineering, procurement and construction (“EPC”) service and other construction contracts with typical performance durations of one to three years. However, the length of certain significant construction projects may exceed three years. The Company estimates that approximately 37% of the RUPO amount at July 31, 2023 will be included in the amount of consolidated revenues that will be recognized during the remainder of the fiscal year ending January 31, 2024 (“Fiscal 2024”). Most of the remaining amount of the RUPO amount at July 31, 2023 is expected to be recognized in revenues during the fiscal years ending January 31, 2025 and January 31, 2026.

It is important to note that estimates may be changed in the future and that cancellations, deferrals, or scope adjustments may occur related to work included in the amount of RUPO at July 31, 2023. Accordingly, RUPO may be adjusted to reflect project delays and cancellations, revisions to project scope and cost and foreign currency exchange fluctuations, or to revise estimates, as effects become known. Such adjustments to RUPO may materially reduce future revenues below Company estimates.

Disaggregation of Revenues

The following table presents consolidated revenues for the three and six months ended July 31, 2023 and 2022, disaggregated by the geographic area where the corresponding projects were located:

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2023

    

2022

2023

    

2022

United States

$

80,281

$

93,949

$

147,800

$

174,221

Republic of Ireland

 

48,075

 

15,532

 

70,656

 

25,186

United Kingdom

 

12,993

 

8,629

 

26,568

 

18,980

Consolidated Revenues

$

141,349

$

118,110

$

245,024

$

218,387

The major portions of the Company’s consolidated revenues are recognized pursuant to fixed-price contracts with most of the remaining portions earned pursuant to time-and-material contracts. Consolidated revenues are disaggregated by reportable segment in Note 14 to the condensed consolidated financial statements.

10

NOTE 3 – CASH, CASH EQUIVALENTS AND INVESTMENTS

Cash and Cash Equivalents

The Company considers all liquid investments with original maturities of three months or less at the time of purchase to be cash equivalents. At July 31, 2023 and January 31, 2023, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments. Such investments include U.S. Treasury obligations; obligations of U.S. government agencies, authorities, instrumentalities or sponsored enterprises; and repurchase agreements secured by U.S. government obligations. Dividend income related to money market investments is recorded when earned. The balances of accrued dividends at July 31, 2023 and January 31, 2023 were $0.6 million and $0.3 million, respectively.

Investments

The Company’s investments consisted of the following as of July 31, 2023 and January 31, 2023:

    

July 31, 

January 31, 

2023

    

2023

Short-term investments

$

81,624

$

151,511

Available-for-sale securities

59,992

Total investments

$

141,616

$

151,511

Short-Term Investments

Short-term investments as of July 31, 2023 and January 31, 2023 consisted solely of CDs with weighted average maturities of one year or less purchased from Bank of America, N.A. (the “Bank”). The Company has the intent and ability to hold the CDs until they mature, and they are carried at cost plus accrued interest. Interest income is recorded when earned and is included in other income. At July 31, 2023 and January 31, 2023, the weighted average annual interest rates of the outstanding CDs were 5.3% and 2.5%, respectively. The balances of accrued interest on the CDs at July 31, 2023 and January 31, 2023 were $1.6 million and $1.8 million, respectively.

Available-For-Sale Securities

AFS securities as of July 31, 2023 consisted solely of U.S. Treasury notes with original maturities of two and three years. The Company’s AFS securities consisted of the following amounts of amortized cost, allowance for credit losses, gross unrealized gains and losses and estimated fair value by contractual maturity as of July 31, 2023:

July 31, 2023

Allowance for

Gross

Gross

Estimated

Amortized

Credit

Unrealized

Unrealized

Fair

    

Cost

    

Losses

    

Gains

    

Losses

    

Value

U.S. Treasury notes:

Due in one to two years

$

25,162

$

$

$

276

$

24,886

Due in two to three years

35,550

444

35,106

Totals

$

60,712

$

$

$

720

$

59,992

As of July 31, 2023, interest receivable in the amount of $0.6 million is included in the balance of AFS securities. For the three and six months ended July 31, 2023, the change in net unrealized holding losses for the Company’s AFS securities reported in other comprehensive income was approximately $0.7 million for both periods. For the three and six months ended July 31, 2023, there were no sales of the Company’s AFS securities, and therefore, there were no amounts of gains or losses reclassified out of other comprehensive income into net income. The Company does not believe the unrealized losses represent credit losses based on the evaluation of evidence as of July 31, 2023, which includes an assessment of whether it is more likely than not the Company will be required to sell or intends to sell the investment before recovery of the investment’s amortized cost basis.

11

Concentration Risk

The Company has a substantial portion of its cash on deposit in the U.S. with the Bank and invested in a money market fund. The Company also maintains certain Euro-based bank accounts in Ireland and certain pound sterling-based bank accounts in the U.K. in support of the operations of APC. Management does not believe that the combined amount of the CDs and the cash deposited with the Bank, cash invested in the money market fund, and cash balances maintained at financial institutions in Ireland and the U.K., in excess of government-insured levels, represent material risks.

NOTE 4 – ACCOUNTS RECEIVABLE

The Company generally extends credit to a customer based on an evaluation of the customer’s financial condition, without requiring tangible collateral. Customer payments on other construction, fabrication and field service contracts are generally due within 30 to 60 days of billing, depending on the negotiated terms of the corresponding contract. Exposure to losses on accounts and notes receivable is expected to differ due to the varying financial condition of each customer. The Company monitors its exposure to credit losses and may establish an allowance for credit losses based on management’s estimate of the loss that is expected to occur over the remaining life of the particular financial asset. The amounts of the provision for credit losses for the three and six months ended July 31, 2023 and 2022 were insignificant. The allowance for credit losses at July 31, 2023 and January 31, 2023 was $1.8 million and $1.9 million, respectively.

NOTE 5 – INTANGIBLE ASSETS

At both July 31, 2023 and January 31, 2023, the goodwill balances related primarily to the GPS and TRC reporting units, and were $18.5 million and $9.5 million, respectively. Management does not believe that any events or circumstances occurred or arose since January 31, 2023, that required an updated assessment of the goodwill balances of either the GPS or TRC reporting units.

The Company’s intangible assets, other than goodwill, relate primarily to the industrial construction services segment and consisted of the following as of July 31, 2023 and January 31, 2023:

July 31, 2023

January 31, 2023

Estimated

Gross

Accumulated

Net

Gross

Accumulated

Net

    

Useful Life

    

Amounts

    

Amortization

    

Amounts

    

Amounts

    

Amortization

    

Amounts

Trade names

15 years

$

4,499

$

2,300

$

2,199

$

4,499

$

2,150

$

2,349

Customer relationships

10 years

916

702

214

916

656

260

Totals

$

5,415

$

3,002

$

2,413

$

5,415

$

2,806

$

2,609

NOTE 6 – FINANCING ARRANGEMENTS

During April 2021, the Company amended its Amended and Restated Replacement Credit Agreement with the Bank (the “Credit Agreement”) which extended the expiration date of the Credit Agreement to May 31, 2024 and reduced the borrowing rate. On March 6, 2023, the Company entered into the Second Amendment (the “Second Amendment”) to the Credit Agreement. The Second Amendment modified the Credit Amendment, primarily, to replace the interest pricing with the Secured Overnight Financing Rate (“SOFR”) plus 1.6% and to add SOFR successor rate language. The Credit Agreement, as amended, includes the following features, among others: a lending commitment of $50.0 million including a revolving loan and an accordion feature which allows for an additional commitment amount of $10.0 million, subject to certain conditions. The Company may also use the borrowing ability to cover other credit instruments issued by the Bank for the Company’s use in the ordinary course of business as defined in the Credit Agreement. Additionally, the Credit Agreement, as amended, continues to include customary terms, covenants and events of default for a credit facility of its size and nature. The Company intends to renew the Credit Agreement prior to its expiration date.

At July 31, 2023 and January 31, 2023, the Company did not have any borrowings outstanding under the Credit Agreement. However, the Bank has issued letters of credit in the total outstanding amount of $9.4 million at July 31, 2023, in support of the activities of APC under existing customer contracts. The comparable outstanding total amount of letters of credit at January 31, 2023 was $8.8 million.

12

The Company has pledged the majority of its assets to secure its financing arrangements. The Bank’s consent is not required for acquisitions, divestitures, cash dividends or significant investments as long as certain conditions are met. The Credit Agreement requires that the Company comply with certain financial covenants at its fiscal year-end and at each fiscal quarter-end. The Credit Agreement, as amended, includes other terms, covenants and events of default that are customary for a credit facility of its size and nature, including a requirement to achieve positive adjusted earnings before interest, taxes, depreciation and amortization, as defined, over each rolling twelve-month measurement period. As of July 31, 2023 and January 31, 2023, the Company was in compliance with the covenants of the Credit Agreement, as amended.

NOTE 7 – COMMITMENTS

Leases

The Company’s leases are primarily operating leases that cover office space, expiring on various dates through December 2031, and certain equipment used by the Company in the performance of its construction services contracts. Some of these equipment leases may be embedded in broader agreements with subcontractors or construction equipment suppliers. The Company has no material finance leases. None of the operating leases includes significant amounts for incentives, rent holidays or price escalations. Under certain leases, the Company is obligated to pay property taxes, insurance, and maintenance costs. For leases that contain both lease and non-lease components, fixed and variable payments are allocated to each component relative to observable or estimated standalone prices.

Operating lease right-of-use assets and associated lease liabilities are recorded in the balance sheet at the lease commencement date based on the present value of future minimum lease payments to be made over the expected lease term. As the implicit rate is not determinable in most of the Company’s leases, management uses the Company’s incremental borrowing rate at the commencement date in determining the present value of future payments. The expected lease term includes any option to extend or to terminate the lease when it is reasonably certain the Company will exercise such option. Right-of-use assets at July 31, 2023 and January 31, 2023, were $4.5 million and $4.8 million, respectively.

Operating lease expense amounts are recorded on a straight-line basis over the expected lease terms. Operating lease expenses for the three and six months ended July 31, 2023 were $0.4 million and $0.9 million, respectively, and they were $0.5 million and $1.3 million for the three and six months ended July 31, 2022, respectively. Operating lease payments for the three and six months ended July 31, 2023 were $0.4 million and $0.9 million, respectively, and they were $0.5 million and $1.3 million for the three and six months ended July 31, 2022, respectively.

The following is a schedule of future minimum lease payments for the operating leases that were recognized in the condensed consolidated balance sheet as of July 31, 2023:

Years Ending January 31, 

2024 (remainder)

    

$

879

2025

1,470

2026

1,194

2027

276

2028

221

Thereafter

817

Total lease payments

4,857

Less imputed interest

297

Present value of lease payments

4,560

Less current portion (included in accrued expenses)

1,535

Noncurrent portion (included in noncurrent liabilities)

$

3,025

For operating leases as of July 31, 2023, the weighted average lease term and weighted average discount rate were 53 months and 3.8%, respectively. For operating leases as of January 31, 2023, the weighted average lease term and weighted average discount rate were 58 months and 3.7%, respectively. The aggregate amounts of operating lease right-of-use assets added in exchange for lease obligations during the six months ended July 31, 2023 and 2022 were $0.7 million and $0.5 million, respectively.

13

The Company also uses equipment and occupies other facilities under short-term rental agreements. The Company classifies as short-term leases any lease with an initial noncancellable term of twelve months or less that does not include an option to purchase the underlying asset that the Company is reasonably certain to exercise. Rent expense amounts incurred under short-term rentals during the three and six months ended July 31, 2023 were $3.1 million and $6.8 million, respectively, and they were $3.0 million and $5.3 million for the three and six months ended July 31, 2022, respectively. Right-of-use assets and lease liabilities related to short-term leases are excluded from the consolidated balance sheets.

Performance Bonds and Guarantees

In the normal course of business and for certain major projects, the Company may be required to obtain surety or performance bonding, to cause the issuance of letters of credit, or to provide parent company guarantees (or some combination thereof) in order to provide performance assurances to clients on behalf of its contractor subsidiaries. As these subsidiaries are wholly-owned, any actual liability is ordinarily reflected in the financial statement account balances determined pursuant to the Company’s accounting for contracts with customers. When sufficient information about claims on guaranteed or bonded projects would be available and monetary damages or other costs or losses would be determined to be probable, the Company would record such losses. Any such amounts that may be required to be paid in excess of the estimated costs to complete contracts in progress as of July 31, 2023 are not estimable.

As of July 31, 2023 and January 31, 2023, the estimated amounts of the Company’s unsatisfied bonded performance obligations, covering all of its subsidiaries, were approximately $0.5 billion and $0.6 billion, respectively. As of July 31, 2023 and January 31, 2023, the outstanding amount of bonds covering other risks, including warranty obligations related to completed activities, was not material. Not all of our projects require bonding.

The Company also provided a financial guarantee, subject to certain terms and conditions, in the amount of $3.6 million in support of business development efforts. A liability was established for the estimated loss related to this guarantee during the year ended January 31, 2022 (“Fiscal 2022”).

Warranties

The Company generally provides assurance-type warranties for work performed under its construction contracts. The warranties cover defects in equipment, materials, design or workmanship, and most warranty periods typically run from nine to twenty-four months after the completion of construction on a particular project. Because of the nature of the Company’s projects, including project owner inspections of the work both during construction and prior to substantial completion, the Company has not experienced material unexpected warranty costs in the past. Warranty costs are estimated based on experience with the type of work and any known risks relative to each completed project. The accruals of liabilities, which are established to cover estimated future warranty costs, are recorded as the contracted work is performed, and they are included in the amounts of accrued expenses in the condensed consolidated balances sheets. The liability amounts may be periodically adjusted to reflect changes in the estimated size and number of expected warranty claims.

NOTE 8 – LEGAL CONTINGENCIES

In the normal course of business, the Company may have pending claims and legal proceedings. In the opinion of management, based on information available at this time, there are no current claims and proceedings that are expected to have a material adverse effect on the condensed consolidated financial statements as of July 31, 2023.

NOTE 9 – STOCK-BASED COMPENSATION

On June 23, 2020, the Company’s stockholders approved the adoption of the 2020 Stock Plan (the “2020 Plan”), and the allocation of 500,000 shares of the Company’s common stock for issuance thereunder. On June 20, 2023, the Company’s stockholders approved an allocation of an additional 500,000 shares for issuance under the 2020 Plan. The Company’s board of directors may make share-based awards under the 2020 Plan to officers, directors and key employees. The 2020 Plan replaced the 2011 Stock Plan (the “2011 Plan”); the Company’s authority to make awards pursuant to the 2011 Plan expired on July 19, 2021. Together, the 2020 Plan and the 2011 Plan are hereinafter referred to as the “Stock Plans.”

The features of the 2020 Plan are similar to those included in the 2011 Plan. Awards may include nonqualified stock options, incentive stock options, and restricted or unrestricted stock. The specific provisions for each award are documented in a written agreement between the Company and the awardee. All stock options awarded under the Stock

14

Plans have exercise prices per share at least equal to the market value per share of the Company’s common stock on the date of grant. Stock options have terms no longer than ten years. Typically, stock options are awarded with one-third of each stock option vesting on each of the first three anniversaries of the corresponding award date.

As of July 31, 2023, there were 2,325,701 shares of common stock reserved for issuance under the Stock Plans; this number includes 586,225 shares of common stock available for future awards under the 2020 Plan.

Stock Options

A summary of stock option activity under the Stock Plans for the six months ended July 31, 2023, along with corresponding weighted average per share amounts, is presented below (shares in thousands):

Weighted

Weighted

Average

Average

Weighted

Remaining

Grant Date

Average Exercise

Contractual

Fair Value

    

Shares

    

Price Per Share

    

Term (years)

    

Per Share

Outstanding, February 1, 2023

 

1,440

$

43.84

 

5.46

$

10.11

Granted

10

$

39.47

Exercised

(45)

$

21.04

Forfeited

(1)

$

33.81

Outstanding, July 31, 2023

1,404

$

44.55

 

5.16

$

10.28

Exercisable, July 31, 2023

 

1,276

$

45.01

4.82

$

10.53

Outstanding, July 31, 2022

1,431

$

44.08

 

5.79

$

10.19

Exercisable, July 31, 2022

 

1,192

$

44.83

 

5.27

$

10.74

The changes in the number of non-vested options to purchase shares of common stock for the six months ended July 31, 2023, and the weighted average fair value per share for each number, are presented below (shares in thousands):

    

Weighted

Average

Grant Date

Fair Value

Shares

    

Per Share

Non-vested, February 1, 2023

 

194

$

7.27

Granted

 

10

$

8.12

Vested

 

(75)

$

6.62

Forfeitures

(1)

$

5.68

Non-vested, July 31, 2023

 

128

$

7.72

Non-vested, July 31, 2022

 

239

$

7.45

The total intrinsic value amount related to the stock options exercised during the six months ended July 31, 2023 was $0.9 million. The total intrinsic value amount related to the stock options exercised during the six months ended July 31, 2022 was not significant. The aggregate market value amounts of the shares of common stock subject to outstanding stock options and exercisable stock options that were “in-the-money” exceeded the aggregate exercise prices of such options at July 31, 2023 by $1.9 million and $1.8 million, respectively.

Restricted Stock Units

The Company awards restricted stock units to senior executives, certain other key employees and members of the Company’s board of directors. Awardees earn the right to receive shares of common stock as certain performance goals are achieved and/or service periods are satisfied. Each restricted stock unit expires on the three-year anniversary of the award.

15

During the six months ended July 31, 2023, the Company awarded total stock return performance-based restricted stock units (“PRSUs”) covering a target of 6,000 shares of common stock, earnings per share performance-based restricted stock units (“EPRSUs”) covering a target of 15,000 shares of common stock, renewable energy performance-based restricted stock units (“RPRSUs”) covering a target of 7,500 shares of common stock, time-based restricted stock units (“TRSUs”) covering 45,300 shares of common stock, and 1,354 shares based on the amount of cash dividends deemed paid on shares earned pursuant to the awards. During the six months ended July 31, 2022, the Company awarded PRSUs covering a target of 23,500 shares of common stock, RPRSUs covering a target of 7,500 shares of common stock and TRSUs covering 60,000 shares of common stock.

The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2023, and the weighted average fair value per share for each restricted stock unit, are presented below (shares in thousands):

    

    

Weighted

Average

Grant Date

Fair Value

Shares

Per Share

Outstanding, February 1, 2023

 

310

$

30.80

Awarded

 

96

$

30.68

Issued

(37)

$

44.86

Forfeited

(49)

$

15.57

Outstanding, July 31, 2023

 

320

$

30.34

Outstanding, July 31, 2022

 

280

$

29.46

Fair Value

The fair value amounts of stock options and restricted stock units are recorded as stock compensation expense on a straight-line basis over the terms of the corresponding awards. Expense amounts related to stock awards were $1.2 million and $1.1 million for the three months ended July 31, 2023 and 2022, respectively. Expense amounts related to stock awards were $2.2 million and $2.0 million for the six months ended July 31, 2023 and 2022, respectively. At July 31, 2023, there was $7.2 million in unrecognized compensation cost related to outstanding stock awards that the Company expects to expense over the next three years.

The Company estimates the weighted average fair value of stock options on the date of award using a Black-Scholes option pricing model. The Company believes that its past stock option exercise activity is sufficient to provide it with a reasonable basis upon which to estimate the expected life of newly awarded stock options. Risk-free interest rates are determined by blending the rates for three-to-five year U.S. Treasury notes. The dividend yield is based on the Company’s current annual regular dividend amount. The calculations of the expected volatility factors are based on the monthly closing prices of the Company’s common stock for the five-year periods preceding the dates of the corresponding awards.

The fair value amounts for the PRSUs have been determined by using the per share market price of the common stock on the dates of award and, by assigning equal probabilities to the thirteen possible payout outcomes at the end of each three-year term, and by computing the weighted average of the outcome amounts. For each award, the estimated fair value amount was calculated to be 88.5% of the aggregate market value of the target number (which is 50% of the maximum number) of shares on the award date. For the EPRSUs and RPRSUs, the fair value of each award equals the aggregate market price for the number of shares that, as of the award date, are probable of vesting based on the performance conditions. For the TRSUs, the fair value of each award equals the aggregate market price for the number of shares covered by each award on the date of award.

16

NOTE 10 – INCOME TAXES

Income Tax Expense Reconciliations

The Company’s income tax amounts for the six months ended July 31, 2023 and 2022 differed from corresponding amounts computed by applying the federal corporate income tax rate of 21% to the income before income taxes for the periods as presented below:

    

Six Months Ended July 31, 

    

2023

    

2022

Computed expected income tax expense

$

4,276

$

4,970

Difference resulting from:

State income taxes, net of federal tax effect

 

455

 

349

Unrecognized tax loss benefit

529

GILTI

505

225

Excess executive compensation

400

445

Foreign tax rate differential

(643)

(120)

Tax credits

(453)

(124)

Research and development credits adjustment

6,181

Other permanent differences and adjustments, net

418

33

Income tax expense

$

5,487

$

11,959

Foreign income tax expense for the six months ended July 31, 2023 was $1.5 million. Foreign income tax expense for the six months ended July 31, 2022 was not material.      

Net Operating Loss (“NOL”) Carryback

In an effort to combat the adverse economic impacts of the COVID-19 crisis, the U.S. Congress passed the Coronavirus, Aid, Relief, and Economic Security Act (the “CARES Act”) that was signed into law on March 27, 2020. This wide-ranging legislation was an emergency economic stimulus package that included spending and tax breaks aimed at strengthening the U.S. economy and funding a nationwide effort to curtail the effects of the outbreak of COVID-19.

The tax changes of the CARES Act included a temporary suspension of the limitations on the future utilization of certain NOLs and re-established a carryback period for certain losses to five years. The NOLs eligible for carryback under the CARES Act include the Company’s domestic NOL for the year ended January 31, 2020, which was approximately $39.5 million. The Company made the appropriate filing with the Internal Revenue Service (the “IRS”) requesting carryback refunds of income taxes paid for the years ended January 31, 2016 (“Fiscal 2016”) and 2015 (“Fiscal 2015”) in the total amount of approximately $12.7 million during the fiscal year ended January 31, 2021 (“Fiscal 2021”). At the instruction of the IRS, amended income tax returns for Fiscal 2016 and Fiscal 2015 were filed during the second quarter of the current fiscal year; the IRS has not completed the review and approval of the Company’s amended tax returns and refund request.

Research and Development Tax Credits

During Fiscal 2022, the Company completed a detailed review of the activities of its engineering staff on major EPC services projects in order to identify and quantify the amounts of research tax credits that may have been available to reduce federal income taxes for Fiscal 2022 and Fiscal 2021. As a result, the Company filed amended federal income tax returns for those years including research and development tax credits in the total amount of $5.8 million, which was netted with a provision for uncertain tax return positions in the amount of $2.4 million, and recorded as a reduction of income tax expense in the fourth quarter of Fiscal 2023.  

Income Tax Refunds

As of July 31, 2023 and January 31, 2023, the balances of other current assets in the condensed consolidated balance sheet included income tax refunds receivable and prepaid income taxes in the total amounts of approximately $16.9 million and $15.3 million, respectively. The income tax refunds included the amount expected to be received from the IRS upon its review and approval of the Company’s NOL carryback refund request as described above.

17

Income Tax Returns

The Company is subject to federal and state income taxes in the U.S., and income taxes in Ireland and the U.K. Tax treatments within each jurisdiction are subject to the interpretation of the related tax laws and regulations which require significant judgments to apply. The Company is no longer subject to income tax examinations by authorities for its fiscal years ended on or before January 31, 2019, except for several notable exceptions including Ireland, the U.K. and several states where the open periods are one year longer. In May 2023, the Company received notification that its amended federal income tax returns for Fiscal 2021 and Fiscal 2022 were selected for examination.

Solar Energy Projects

The Company has invested in limited liability companies that make equity investments in solar energy projects that are eligible to receive energy tax credits. The passive investments have been accounted for using the equity method; the balances are included in other assets in our condensed consolidated balance sheets. Each tax credit, when recognized, is recorded as a reduction of the corresponding investment balance with an offsetting reduction in the balance of accrued taxes payable in accordance with the deferral method. As of July 31, 2023, the Company had no remaining cash investment commitments related to these projects. At July 31, 2023 and January 31, 2023, the investment account balances were $1.1 million and $1.2 million, respectively. These investments are expected to provide positive overall returns over their six-year expected lives.

During the three and six months ended July 31, 2023, the investment balance was adjusted to reflect the Company’s share of the losses of the investment entities in the amounts of less than $0.1 million and $0.1 million, respectively. For the three and six months ended July 31, 2022, the investment balance was adjusted to reflect the Company’s share of the income of the investment entities in the amounts of approximately $0.5 million and $1.0 million, respectively. These net amounts have been included as other loss or income in the Company’s condensed consolidated statement of earnings for the corresponding periods.

Supplemental Cash Flow Information

The amounts of cash paid for income taxes during the six months ended July 31, 2023 and 2022 were $3.7 million and $1.3 million, respectively. During the six months ended July 31, 2023 and 2022, the Company did not receive any income tax refunds that were material.

NOTE 11 – NET INCOME PER SHARE

Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the note):

Three Months Ended July 31, 

    

2023

    

2022

Net income

$

12,767

$

4,222

Weighted average number of shares outstanding – basic

13,403

14,134

Effect of stock awards (1)

139

113

Weighted average number of shares outstanding – diluted

13,542

14,247

Net income per share

Basic

$

0.95

$

0.30

Diluted

$

0.94

$

0.30

(1)For the three months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of 785,167 and 876,734 shares of common stock, respectively.

18

Six Months Ended July 31, 

    

2023

    

2022

Net income

$

14,876

$

11,707

Weighted average number of shares outstanding – basic

13,408

14,516

Effect of stock awards (1)

136

100

Weighted average number of shares outstanding – diluted

13,544

14,616

Net income per share

Basic

$

1.11

$

0.81

Diluted

$

1.10

$

0.80

(1)For the six months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of 818,501 and 876,734 shares of common stock, respectively.

NOTE 12 – CASH DIVIDENDS AND TREASURY STOCK

On June 20, 2023, Argan’s board of directors declared a regular quarterly cash dividend in the amount of $0.25 per share of common stock, which was paid on July 31, 2023 to stockholders of record at the close of business on July 21, 2023. On April 10, 2023, Argan’s board of directors declared a regular quarterly cash dividend in the amount of $0.25 per share of common stock, which was paid on April 28, 2023 to stockholders of record at the close of business on April 20, 2023. During the six months ended July 31, 2022, the board of directors declared two regular quarterly cash dividends, each in the amount of $0.25 per share of common stock, which were paid to stockholders on April 29, 2022 and July 29, 2022.

Pursuant to its established program and authorizations provided by Argan’s board of directors, the Company repurchased shares of its common stock during the six months ended July 31, 2023 and 2022. During these periods, the Company repurchased 169,788 shares and 1,412,592 shares of common stock, all on the open market, for aggregate prices of approximately $6.7 million, or $39.45 per share, and $53.2 million, or $37.64 per share, respectively.

For the six months ended July 31, 2023, the Company used 81,851 of the repurchased shares to settle stock option exercises and other share-based awards. For the six months ended July 31, 2022, no treasury stock was used to settle stock option exercises and other share-based awards.

In August 2022, the Inflation Reduction Act (the “IRA”) was signed into law, which introduced a 1% excise tax on shares repurchased after December 31, 2022. For the six months ended July 31, 2023, the excise tax was not material.

NOTE 13 – CUSTOMER CONCENTRATIONS

The majority of the Company’s consolidated revenues relate to performance by the power industry services segment which provided 75% and 77% of consolidated revenues for the three months ended July 31, 2023 and 2022, respectively, and 72% and 76% of consolidated revenues for the six months ended July 31, 2023 and 2022, respectively. The industrial construction services segment represented 23% and 20% of consolidated revenues for the three months ended July 31, 2023 and 2022, respectively, and 26% and 21% of consolidated revenues for the six months ended July 31, 2023 and 2022, respectively.

The Company’s most significant customer relationships for the three months ended July 31, 2023 included three power industry service customers, which accounted for 21%, 20%, and 12% of consolidated revenues. The Company’s most significant customer relationships for the three months ended July 31, 2022 included two power industry service customers, which accounted for 47% and 10% of consolidated revenues. The Company’s most significant customer relationships for the six months ended July 31, 2023 included three power industry service customers and one industrial construction services customer, which accounted for 19%, 17%, 11% and 11% of consolidated revenues. The Company’s most significant customer relationship for the six months ended July 31, 2022 included one power industry service customer, which accounted for 47% of consolidated revenues. 

19

The accounts receivable balances from three major customers represented 35%, 15% and 10% of the corresponding consolidated balance as of July 31, 2023. Accounts receivable balances from three major customers represented 36%, 12% and 12% of the corresponding consolidated balance as of January 31, 2023. The contract asset balances from three major customers represented 30%, 15% and 13% of the corresponding consolidated balance as of July 31, 2023. Contract asset balances from one major customer represented 70% of the corresponding consolidated balance as of January 31, 2023.

NOTE 14 – SEGMENT REPORTING

Segments represent components of an enterprise for which discrete financial information is available that is evaluated regularly by the Company’s chief executive officer, who is the chief operating decision maker, in determining how to allocate resources and in assessing performance. The Company’s reportable segments recognize revenues and incur expenses, are organized in separate business units with different management teams, customers, talents and services, and may include more than one operating segment.

Intersegment revenues and the related cost of revenues are netted against the corresponding amounts of the segment receiving the intersegment services. For the three and six months ended July 31, 2023 and 2022, intersegment revenues were not material.

Summarized below are certain operating results and financial position data of the Company’s reportable business segments for the three and six months ended July 31, 2023 and 2022. The “Other” column in each summary includes the Company’s corporate expenses.

Three Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

105,345

$

32,756

$

3,248

$

$

141,349

Cost of revenues

 

87,094

 

28,076

 

2,437

 

 

117,607

Gross profit

 

18,251

 

4,680

 

811

 

 

23,742

Selling, general and administrative expenses

5,596

1,446

727

2,732

10,501

Income (loss) from operations

12,655

3,234

84

(2,732)

13,241

Other income (loss), net

 

3,607

 

 

(3)

 

514

 

4,118

Income (loss) before income taxes

$

16,262

$

3,234

$

81

$

(2,218)

 

17,359

Income tax expense

 

4,592

Net income

$

12,767

Amortization of intangibles

$

$

98

$

$

$

98

Depreciation

128

260

99

1

488

Property, plant and equipment additions

148

220

18

386

Current assets

$

319,196

$

45,590

$

4,273

$

86,073

$

455,132

Current liabilities

183,405

28,996

1,717

1,488

215,606

Goodwill

18,476

9,467

90

28,033

Total assets

346,192

63,074

7,264

89,178

505,708

20

Three Months Ended

Power

Industrial

Telecom

July 31, 2022

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

91,327

$

23,022

$

3,761

$

$

118,110

Cost of revenues

 

71,225

 

19,551

 

2,947

 

 

93,723

Gross profit

 

20,102

 

3,471

 

814

 

 

24,387

Selling, general and administrative expenses

 

6,058

1,685

808

2,433

 

10,984

Income (loss) from operations

14,044

1,786

6

(2,433)

13,403

Other income (loss), net

 

437

 

 

(1)

 

69

 

505

Income (loss) before income taxes

$

14,481

$

1,786

$

5

$

(2,364)

 

13,908

Income tax expense

 

9,686

Net income

$

4,222

Amortization of intangibles

$

$

165

$

68

$

$

233

Depreciation

138

508

100

1

747

Property, plant and equipment additions

42

336

22

400

Current assets

$

258,771

$

31,960

$

4,745

$

82,717

$

378,193

Current liabilities

124,320

15,055

1,991

646

142,012

Goodwill

18,476

9,467

90

28,033

Total assets

282,783

49,097

8,198

82,992

423,070

Six Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

175,521

$

63,063

$

6,440

$

$

245,024

Cost of revenues

 

147,429

 

54,638

 

4,991

 

 

207,058

Gross profit

 

28,092

 

8,425

 

1,449

 

 

37,966

Selling, general and administrative expenses

 

11,310

2,906

1,430

5,446

21,092

Income (loss) from operations

16,782

5,519

19

(5,446)

16,874

Other income (loss), net

 

5,697

 

 

(3)

 

(2,205)

 

3,489

Income (loss) before income taxes

$

22,479

$

5,519

$

16

$

(7,651)

 

20,363

Income tax expense

 

5,487

Net income

$

14,876

Amortization of intangibles

$

$

196

$

$

$

196

Depreciation

256

564

213

2

1,035

Property, plant and equipment additions

537

476

18

1,031

21

Six Months Ended

Power

Industrial

Telecom

July 31, 2022

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

165,276

$

45,523

$

7,588

$

$

218,387

Cost of revenues

 

130,260

 

38,231

 

5,771

 

 

174,262

Gross profit

 

35,016

 

7,292

 

1,817

 

 

44,125

Selling, general and administrative expenses

 

11,673

3,444

1,573

4,869

21,559

Income (loss) from operations

23,343

3,848

244

(4,869)

22,566

Other income, net

 

1,021

 

 

1

 

78

 

1,100

Income (loss) before income taxes

$

24,364

$

3,848

$

245

$

(4,791)

 

23,666

Income tax expense

 

11,959

Net income

$

11,707

Amortization of intangibles

$

$

331

$

68

$

$

399

Depreciation

280

1,052

222

2

1,556

Property, plant and equipment additions

94

487

57

638

NOTE 15 — SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION

Other current assets consisted of the following at July 31, 2023 and January 31, 2023:

    

July 31, 

January 31, 

2023

    

2023

Income tax refunds receivable and prepaid income taxes

$

16,895

$

15,327

Raw materials inventory

12,836

11,903

Prepaid expenses

 

6,848

 

4,541

Other

6,859

6,563

Total other current assets

$

43,438

$

38,334

Accrued expenses consisted of the following at July 31, 2023 and January 31, 2023:

    

July 31, 

January 31, 

2023

    

2023

Accrued compensation

$

13,085

$

18,286

Accrued project costs

43,995

17,448

Lease liabilities

1,535

1,567

Other

9,005

12,566

Total accrued expenses

$

67,620

$

49,867

On March 7, 2023, the Company determined that it had been a victim of a complex criminal scheme, which resulted in fraudulently-induced outbound wire transfers to a third-party account. As a result of the event, the Company incurred a loss of approximately $3.0 million. The Company retained specialized legal counsel and a cybersecurity services firm to assist in an independent forensic investigation of the incident and the efforts to recover the funds. As a result, the Company incurred legal, audit and other professional fees in the aggregate amount of $0.2 million related to this event and has recovered approximately $0.4 million through legal efforts and insurance proceeds as of July 31, 2023. The Company continues to pursue efforts to recover additional funds. The total amount of the fraud loss and the professional fees, net with funds recovered, of approximately $2.8 million is included in other income, net in the condensed consolidated statements of earnings for the six months ended July 31, 2023.

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

The following discussion summarizes the financial position of Argan, Inc. and its subsidiaries as of July 31, 2023, and the results of their operations for the three and six month periods ended July 31, 2023 and 2022, and should be read in conjunction with (i) the unaudited condensed consolidated financial statements and notes thereto included elsewhere in

22

this Quarterly Report on Form 10-Q and (ii) the consolidated financial statements and accompanying notes included in our Annual Report on Form 10-K for Fiscal 2023 that was filed with the SEC on April 17, 2023 (the “Annual Report”).

Cautionary Statement Regarding Forward Looking Statements

The Private Securities Litigation Reform Act of 1995 provides a “safe harbor” for certain forward-looking statements. We have made statements in this Item 2 and elsewhere in this Quarterly Report on Form 10-Q that may constitute “forward-looking statements.” The words “believe,” “expect,” “anticipate,” “plan,” “intend,” “estimate,” “foresee,” “should,” “would,” “could,” or other similar expressions are intended to identify forward-looking statements.

Our forward-looking statements, financial position and results of operations, are based on our current expectations and beliefs concerning future developments and their potential effects on us. There can be no assurance that future developments affecting us will be those that we anticipate. All comments concerning our expectations for future revenues and operating results are based on our forecasts for existing operations and do not include the potential impact of any future acquisitions.

Our forward-looking statements, by their nature, involve significant risks and uncertainties (some of which are beyond our control) and assumptions. They are subject to change based upon various factors including, but not limited to, the risks and uncertainties described in this Quarterly Report on Form 10-Q and our Annual Report. Should one or more of these risks or uncertainties materialize, or should any of our assumptions prove to be incorrect, actual results may vary in material respects from those projected in the forward-looking statements. We undertake no obligation to publicly update or revise any forward-looking statements, whether as a result of new information, future events or otherwise.

Business Description

The Company is primarily a construction firm that conducts operations through its wholly-owned subsidiaries, GPS, APC, TRC and SMC. Through GPS and APC, we provide a full range of engineering, procurement, construction, commissioning, maintenance, project development and technical consulting services to the power generation market, including the renewable energy sector, for a wide range of customers, including independent power project owners, public utilities, power plant heavy equipment suppliers and other commercial firms with significant power requirements. GPS and APC represent our power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides primarily on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial plants primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.

We may make additional opportunistic acquisitions and/or investments by identifying companies with significant potential for profitable growth and realizable synergies with one or more of our existing businesses. However, we may have more than one industrial focus depending on the opportunity and/or needs of our customers. Significant acquired companies will be operated in a manner that we believe will best provide long-term and enduring value for our stockholders.

Overview

Operating Results

Consolidated revenues for the three months ended July 31, 2023 were $141.3 million, which represented an increase of $23.2 million, or 19.7%, from consolidated revenues of $118.1 million reported for the three months ended July 31, 2022. The overall improvement in revenues was due to increases in revenues between quarters for both the power industry and industrial construction services reportable segments.

Consolidated gross profit for the three-month period ended July 31, 2023 was $23.7 million, or approximately 16.8% of the corresponding consolidated revenues, which reflected positive contributions from all three reportable business segments. For the three-month period ended July 31, 2022, the consolidated gross profit was $24.4 million, which represented approximately 20.6% of the corresponding amount of consolidated revenues.

23

Selling, general and administrative expenses for the three months ended July 31, 2023 and 2022 were $10.5 million, or 7.4% of corresponding consolidated revenues, and $11.0 million, or 9.3% of corresponding consolidated revenues, respectively.

Other income, net, for the three months ended July 31, 2023 was $4.1 million, which substantially related to income earned during the period on funds invested in a money market fund, CDs and U.S. Treasury notes.

For the three months ended July 31, 2023, income tax expense was $4.6 million which represented an effective income tax rate of 26.5%. For the three months ended July 31, 2022, income tax expense was $9.7 million, which included an unfavorable adjustment in the approximate amount of $6.2 million that was related to the settlement of research and development credit claims with the IRS. Excluding the effect of the IRS settlement, our effective income tax rate for the three months ended July 31, 2022 was 25.2%.

Consolidated revenues for the six months ended July 31, 2023 were $245.0 million, which represented an increase of $26.6 million, or 12.2%, from consolidated revenues of $218.4 million reported for the six months ended July 31, 2022 with the increase reflecting primarily the revenue increases achieved for the second quarter.

Consolidated gross profit for the six-month period ended July 31, 2023 was $38.0 million, or approximately 15.5% of the corresponding consolidated revenues, which reflected positive contributions from all three reportable business segments. For the six-month period ended July 31, 2022, the consolidated gross profit was $44.1 million, which represented approximately 20.2% of the corresponding amount of consolidated revenues.

Selling, general and administrative expenses for the six months ended July 31, 2023 and 2022 were $21.1 million, or 8.6% of corresponding consolidated revenues, and $21.6 million, or 9.9% of corresponding consolidated revenues, respectively.

Other income, net, for the six months ended July 31, 2023 was $3.5 million, which reflected income earned during the period on funds invested in a money market fund, CDs and U.S. Treasury notes, partially offset by the wire-transfer fraud loss that occurred in the first quarter of Fiscal 2024, its partial recovery, and related professional fees (see Note 15 to the accompanying condensed consolidated financial statements). Other income, net, for the six months ended July 31, 2022 was $1.1 million, which included primarily earnings associated with our solar fund investments.

For the six months ended July 31, 2023, income tax expense was $5.5 million which represented an effective income tax rate of 26.9%. For the six months ended July 31, 2022, income tax expense was $12.0 million, which included the unfavorable adjustment amount identified above. Excluding the effect of the adjustment, our effective income tax rate for the six months ended July 31, 2022 was 24.4%.

For the three months ended July 31, 2023, our overall operating profit performance resulted in net income in the amount of $12.8 million, or $0.94 per diluted share. For the comparable period last year, we reported net income in the amount of $4.2 million, or $0.30 per dilutive share. For the six months ended July 31, 2023 and 2022, net income was $14.9 million, or $1.10 per diluted share, and $11.7 million, or $0.80 per diluted share, respectively.

Project Backlog

At July 31, 2023, our consolidated project backlog amount of $0.8 billion consisted substantially of the projects of the power industry services reporting segment. The comparable consolidated backlog amount as of January 31, 2023 was also $0.8 billion. Our reported amount of project backlog at a point in time represents the total value of projects awarded to us that we consider to be firm as of that date less the amounts of revenues recognized to date on the corresponding projects.

Typically, we include the total value of EPC services and other major construction contracts in project backlog when we receive a corresponding notice to proceed from the project owner. However, we may include the value of an EPC services contract prior to the receipt of a notice to proceed if we believe that it is probable that the project will commence within a reasonable timeframe, among other factors. However, cancellations or reductions may occur that would reduce project backlog and that could adversely affect our expected future revenues.

We are committed to the construction of state-of-the-art, natural gas-fired power plants, which represents our core business, as important elements of our country’s electricity-generation mix now and in the future. In addition, we have been directing certain business development efforts to winning projects for the erection of utility-scale wind farms and solar fields and

24

for the construction of hydrogen-based energy and other industrial projects in order to diversify the sources of revenues. We have successfully completed alternative energy projects in the past and we have renewed efforts to obtain new work in other sectors of the power market that will complement our natural gas-fired EPC services projects going forward.

During the first quarter of Fiscal 2024, we achieved the substantial completion milestone for the Guernsey Power Station, which is located in Cambridge, Ohio, pursuant to an EPC services contract with Caithness Energy, L.L.C. This 1,875 MW, combined cycle power plant remains the largest single-phase, gas-fired, electricity-generation plant in the U.S. A small portion of our consolidated project backlog at July 31, 2023 relates to this project as GPS completes the final stages of the commissioning process, including all punch-list items and demobilization efforts, as well as the closeout of commercial matters with the customer, certain subcontractors and equipment suppliers. Final completion of this project is currently expected to occur during the third quarter of Fiscal 2024.

We are also nearing completion of efforts under an EPC services contract with CPV Maple Hill Solar, LLC, an affiliate of Competitive Power Ventures, Inc., to construct the Maple Hill Solar facility, which we believe will be among the largest solar-powered energy plants in Pennsylvania. Project completion is currently scheduled to occur during the fourth quarter of Fiscal 2024. The unique Maple Hill Solar project, which is located in Cambria County, is being constructed using over 235,000 photovoltaic modules to generate up to approximately 100 MW of electrical power.

In October 2022, GPS added the EPC services contract value of the Trumbull Energy Center, a 950 MW natural gas-fired power plant now under construction in Lordstown, Ohio. We received the full notice to proceed with the project from the owner, Clean Energy Future-Trumbull, LLC, in November 2022. This combined cycle power station will consist of two Siemens Energy SGT6-8000H gas fired, high efficiency, combustion turbines with two heat recovery steam generators and a single steam turbine. Project completion is scheduled for late in the year ending January 31, 2026.

In August 2023, GPS executed Limited Notices to Proceed (“LNTPs”) with Vistra Energy for three solar and battery projects in Illinois. Under the LNTPs, GPS has commenced early engineering and design activities as well as procurement of major equipment for construction of state-of-the-art solar energy and battery energy storage facilities. The projects will represent 160 MW of electrical power and 22 MW of energy storage and are reflected in project backlog as of July 31, 2023.

Together, the Trumbull Energy Center, the Guernsey Power Station, the Maple Hill Solar facility and the Illinois solar and battery projects represent over 3.0 gigawatts of potential electrical power. Additionally, the technical, project support and project management teams of GPS continue to assist APC with certain current projects and business development efforts.

The business development efforts conducted by our APC operations have continued to strengthen and broaden the project backlog of this business, which amounted to approximately $142 million as of July 31, 2023. A significant award occurred in October 2021 as APC entered into an engineering and construction services contract with EPUKI London, U.K., to construct a 2 x 330 MW natural gas-fired power plant in Carrickfergus that is near Belfast, Northern Ireland, in a structure that was initially designed to enclose coal-fired units. Our project, referred to as the “Kilroot” project, is being developed by EPNI Energy Limited. Full project activities are underway; however, there have been a number of unanticipated challenges related to this job that continue to meaningfully impact the contract, costs and schedule negatively. Even with these difficulties, the overall completion of this project is expected to occur early next year.

In May 2022, APC entered into engineering and construction services contracts with Ireland’s Electricity Supply Board (“ESB”) to construct three 65 MW aero-derivative gas turbine flexible generation power plants in and around the city of Dublin, Ireland. Two of the power plants, the Poolbeg and Ringsend FlexGen Power Plants, will be located on the Poolbeg Peninsula, and the Corduff FlexGen Power Plant will be built in nearby Goddamendy. All three projects cleared the applicable capacity auction in Fiscal 2023 and are expected to operate intermittently during peak periods of electricity demand and as back-up supply options when renewable electricity generation is limited. The completion of each power facility is expected to occur near the end of Fiscal 2024.

Additionally, APC entered into an EPC services contract with GE Vernova for the Shannonbridge Project, an open-cycle thermal power facility in County Offaly, Ireland that will have the capacity to generate approximately 264 MW of temporary emergency electrical power (the “Shannonbridge Power Project”). The Shannonbridge Power Project, an initiative of EirGrid and the Electricity Supply Board of Ireland, aims to enhance the region’s power infrastructure and to ensure a reliable electricity supply during critical situations and emergencies. GPS is teaming with APC in performance of

25

this contract. Work on this project commenced early this year pursuant to the receipt of a series of LNTPs. In August 2023, APC received the full notice to proceed on this project, with a targeted completion date of early Fiscal 2025, and is reflected in project backlog as of July 31, 2023.

The project backlog of TRC has been increased by 135% over the last twelve months to approximately $140 million as of July 31, 2023, reflecting a business development emphasis on the award of larger industrial field service construction projects from continuing and new customers. The recent emphasis on construction opportunities influenced the strategic decision to consolidate the pipe and vessel fabrication facilities to reduce fixed costs, streamline operations and better support a growing and scalable business model.

It is important to note that the start of new projects is primarily controlled by project owners and that delays may occur that are beyond our control. However, we continue to pursue natural gas-fired power plant, renewable energy plant and industrial construction opportunities in the U.S., Ireland and the U.K. Our vision is to safely contribute to the construction of the energy infrastructure and state-of-the-art industrial facilities that are essential to future economic prosperity in the areas where we operate. We intend to realize this vision with motivated, creative, high-energy and customer-driven teams that are committed to delivering the best possible project results each and every time.

Market Outlook

The overall growth of our power business has been substantially based on the number of combined cycle gas-fired power plants built by us, as many coal-fired plants have been shut down in the U.S. In 2010, coal-fired power plants accounted for about 45% of net electricity generation in the U.S. For 2022, coal fueled approximately 20% of net electricity generation. It has been reported that the average age of the active plants in the coal-fired fleet approximates 45 years old with an average life span of 50 years; the last coal-fired power plant built in the U.S. was constructed in 2015. On the other hand, natural-gas fired power plants provided approximately 39% of the electricity generated by utility-scale power plants in the U.S. in 2022, representing an increase of 69% from the amount of electrical power generated by natural gas-fired power plants in 2010, which provided approximately 24% of net electricity generation for 2010. The average age of utility-scale natural gas-fired power plants in the U.S. is approximately 22 years old with an average life span of 30 years.

Major advances in the safe combination of horizontal drilling techniques and hydraulic fracturing led to the boom in natural gas supplies which have been available generally at consistently low and stable prices. However, reductions in production levels during the pandemic and an increase in the amount of liquid natural gas exports, among other factors including the Russian invasion of Ukraine, strained domestic natural gas supplies and forced prices upward. As a result, the price of natural gas in the U.S. increased meaningfully during the 2022 calendar year. However, spot prices have declined during the first half of 2023 and are forecasted to stabilize through the remainder of 2023 before rising again in calendar year 2024. When sudden power needs emerge and natural gas prices are relatively high, power producers often choose to increase coal-fired power to satisfy the short term demands for electricity.

In the reference case of its Annual Energy Outlook 2023, the Energy Information Administration (“EIA”) projects that economic growth paired with increasing electrification in end-user sectors will result in the stable growth of electricity demand in the U.S. through 2050. Declining capital costs for solar panels, wind turbines and battery storage, as well as government subsidies like those included in the Inflation Reduction Act of 2022 (the “IRA”), will result in renewables becoming increasingly cost effective compared with the alternatives when the costs of building new power capacity are considered. Renewables are increasingly meeting power demand through 2050 as they become more competitive with natural gas, coal and nuclear power. Uncertainty in natural gas prices leads to different unfavorable projections for combined cycle units in the short term, but in the long term, natural gas demand from the electric power sector stabilizes. As a result of the renewables growth, U.S. coal-fired generation capacity will continue to decline sharply to about 54% of current levels by 2030, with a gradual decline thereafter.

The historic decline in the use of coal as a power source in the U.S. was caused, to a significant extent, by the plentiful supply of domestic and generally inexpensive natural gas which made it the fuel of choice for power plant developers over this period. The pace of the historic increase in the preference for natural gas as an electricity generating fuel source also was energized, in part, by environmental activism and restrictive regulations targeting coal-fired power plants. However, the environmentalist opposition against coal-fired power generation has expanded meaningfully to target all fossil fuel

26

energy projects, including both power plants and pipelines, and has evolved into powerful support for renewable energy sources.

Protests against fossil-fuel related energy projects garner media attention and stir public skepticism about new projects which have resulted in delays due to onsite protest demonstrations, indecision by local officials and lawsuits. Various cities, counties and states have adopted clean energy and carbon-free goals or objectives with achievement expected by a certain future date, typically 10 to 30 years out. These aspirational goals may increase the risk of a new power plant becoming a stranded asset long before the end of its otherwise useful economic life, which is a risk that potential equity capital providers may be unwilling to take. The difficulty in obtaining project equity financing and the other factors identified above, may be adversely impacting the planning and initial phases for the construction of new natural gas-fired power plants. Lenders, who have become more wary of funding fossil-fuel ventures as environmental, social and governance ideals influence financing decisions, may be generally unwilling to provide capital for energy projects to increase the domestic production and transmission of oil and natural gas. In addition, insurance underwriters may require oil and gas industry clients to implement plans to reduce methane emissions, that are among the most severe greenhouse gases, and will not provide insurance coverage for oil and gas projects in government-protected conservation areas that do not allow for sustainable use.

We believe that significant uncertainty relates to the policies of the current U.S. Presidential administration. President Biden proposes to make the electricity production in the U.S. carbon free by 2035 and to put the country on the path to achieve net zero carbon emissions by 2050. These policy stances continued during the invasion of Ukraine and the concurrent rise in oil prices as the administration made appeals to other countries to increase oil production while domestic production was challenged by supply chain and labor issues and the maintenance of restrictive regulations. Meanwhile, delays continue for the construction of pipelines needed to transport natural gas to liquid natural gas export facilities for shipment to Western Europe.

In August 2022, President Biden signed the IRA, a climate and healthcare bill that imposes new taxes on corporations with net profits for financial reporting in excess of $1.0 billion, spends billions of dollars over a decade on new workers and technology at the IRS, and funds hundreds of billions of dollars in tax subsidies intended to combat climate change among other measures. According to certain commentary, the legislation will cause investment in technologies needed for leaner production and the use of fuel types, including hydrogen, nuclear, renewables and fossil fuels. However, it appears that receipt of the majority of the tax subsidies will be conditioned on the extent that taxpayers “buy American” and/or pay prevailing wages, among other requirements. Existing supply chains and skilled labor pools may lack the capacity to meet the demand that the incentives are intended to create. Therefore, the subsidies may not provide the intended economic incentives to renewable and other energy project owners. It is not clear that the legislation, for which the rules and regulations have not yet been finalized, will provide assistance to current and future project owners of fossil-fuel power projects as intended.

In May 2023, the Biden administration proposed new rules for the Environmental Protection Agency (the “EPA”) that are intended to drastically reduce greenhouse gases from coal- and gas-fired power plants that officials admit will cost such plants billions of dollars to comply fully by 2042. The new EPA rules would give owners of energy plants, that are providing base load power, flexibility in choosing the means to achieve the emission targets. Alternatives could include the installation of carbon-capture systems that remove carbon dioxide from flue gases that are the by-product of fossil-fuel combustion or the blending of cleaner fuels such as hydrogen. A public comment period for the proposed rules ended in early August 2023; final rules are expected in 2024.

In June 2023, President Biden signed the debt ceiling bill which included reforms for certain elements of the permitting process for energy projects. The bill imposes certain timelines for federal agencies to review and to approve elements of major energy projects and includes provisions designating a single agency to take the lead on the environmental review process. Such streamlining of the current permitting process for energy generating facilities could ease certain constraints on the power industry.  

Regarding emissions, it is important to note that in its 2023 reference case, EIA projects that U.S. energy-related carbon dioxide emissions will decline by a little over 30% below the 2005 emissions level by 2030. We believe that a significant portion of the reduction related to the shift from coal-fired to natural gas-fired power generation has already occurred as described above. It appears that from 2005 to 2022, the energy-related emissions declined by approximately 20%. The EIA

27

credits the impacts of the IRA, updates to technology costs and performance across the energy system and changes in the macroeconomic outlook with maintaining the reduction percentage versus the 2005 level of emissions at approximately 30% from now through 2050. In addition, the EIA indicates that further emissions reductions are limited by longer-term growth in U.S. transportation and industrial activity. The EIA in its report does not include emissions from the power industry among the reasons for the lack of further emission reductions from 2030 through 2050.

The net amount of electricity generation in the U.S. provided by utility-scale wind and solar photovoltaic facilities continues to rise. Together, such power facilities provided approximately 12%, 13% and 15% of the net amount of electricity generated by utility-scale power facilities in 2020, 2021 and 2022, respectively. EIA projects that new wind and photovoltaic solar capacity will continue to be added to the utility-scale power fleet in the U.S. at a brisk pace substantially attributable to declines in the amount of renewable power plant component and power storage costs, an increase in the scale of energy storage capacity (i.e., battery farms and other energy storage technologies), the availability of valuable tax credits and the overall political commitment to renewable energy.

Most of our recently completed and awarded EPC service contracts relate to the construction of natural gas-fired power plants located within the Mid-Atlantic geographic footprint of PJM Interconnection (“PJM”), which operates a capacity market to ensure long-term grid reliability by securing the appropriate amount of power supply resources needed to meet predicted future energy demands in the Mid-Atlantic region of the U.S. Capacity payments represent meaningful portions of the revenue streams of qualifying power plants.  The capacity auction for a particular delivery year was usually held during the month of May, three years prior to the actual delivery year. However, the 2023/2024 auction, rescheduled to December 2021, was delayed until January 2022 and then was postponed again until June 2022. The auction results included increased capacity powered by nuclear, solar and natural gas energy sources, and decreased capacity provided by coal and wind energy sources. However, prices for the 2023/2024 and 2024/2025 delivery years were significantly lower than each previous auction. In June 2023, the Federal Energy Regulatory Commission (“FERC”) issued an order accepting PJM’s proposal for the 2025/2026 capacity auction, scheduled to be held in June 2023, to be postponed until June 2024. Thereafter, the capacity auctions through the 2028/2029 delivery year will be held every six months through May 2026, so that market design rule changes proposed by stakeholders might be implemented for all future auctions. These new rules for capacity market enhancements are expected to be filed by October 2023.

Uncertainty in this market, including the difficulties experienced by PJM in perfecting a capacity auction design that all of its stakeholders consider to be fair, the repeated capacity auction delays, and the shrinking annual capacity auction prices, may discourage potential power plant owners from commencing the development of new power plants in this area thereby reducing potential new business opportunities for us.

In February 2023, PJM released a position paper that supported the growing concern that the reliability of power grids is being eroded by the rush to renewable power. While acknowledging the reality of the power transition in the PJM system, it warned that its research highlighted three trends that present increasing reliability risks during the transition due to a potential timing mismatch between load growth, resource retirements and the pace of new electricity generating plant additions.

The paper indicates that the growth rate of electricity demand in the PJM footprint is likely to increase from electrification (i.e., shifts to electric-powered automobiles, electric appliances, etc.) coupled with the proliferation of high-demand data centers in the region. Coal-fired and old gas-fired power generation facilities are being retired at a rapid pace due to government and private sector policies as well as economics. The risk is that these retirements may outpace the construction of new power-generating facilities as PJM’s interconnection queue includes primarily intermittent and limited-duration renewable energy resources. Given the operating characteristics of these types of facilities, PJM will need multiple megawatts of renewable power and accompanying battery storage to replace a single megawatt of thermal generation.

In summary, throughout the U.S., the risk of electricity shortages is real as traditional power plants are being retired more quickly than they can be replaced by renewable energy and battery storage. Power grids are feeling the strain as the U.S. makes the historic transition from conventional power plants fueled by coal and natural gas to cleaner forms of energy such as wind and solar power, and aging nuclear plants are slated for retirement. Electric-grid operators are warning that power-generating capacity is struggling to keep up with demand, a gap that could lead to additional rolling blackouts during heat waves or other peak power periods.

28

In the U.S., local electricity grids are connected to form larger networks and to improve reliability and economic efficiency and are known as Regional Transmission Operators (“RTOs”) and Independent System Operators (“ISOs”). They are members of three main interconnections, the Eastern Interconnection, the Western Interconnection and the Electric Reliability Council of Texas. These interconnectors cover wide swaths of the U.S. Although the three interconnections operate independently of each other and have very limited transfers of power between them, the operation of interconnections is conducted by balancing authorities, which ensures that power supply and demand are balanced to maintain the reliability of applicable power systems. All RTOs, including PJM, and ISOs in the U.S. are balancing authorities. Consequently, reliability threats to certain individual RTOs and ISOs represent threats to entire interconnection organizations.

The challenge is that wind and solar farms do not produce electricity at all times and they need large batteries to store their output for later use. While large battery storage capacity is under development, regional grid operators have warned that the pace may not be fast enough to offset the closures of traditional power plants that can work around the clock.

Accelerating the build-out of renewable energy sources and batteries has become an especially difficult proposition amid supply-chain challenges and inflation. For example, during Fiscal 2023, the highly publicized probe by the U.S. Commerce Department into whether Chinese solar manufacturers were circumventing trade tariffs on solar panels had the effect of halting imports of key components needed to build new solar farms and effectively brought most of the U.S. solar industry to a temporary standstill. As a result of this probe, the U.S. determined that certain Chinese solar manufacturers were dodging U.S. tariffs by finishing their products in Cambodia, Malaysia, Thailand and Vietnam, countries that account for approximately 80% of solar panel supplies. In August 2023, the Commerce Department of the U.S. decided to impose tariffs on solar imports from Southeast Asia. Critics of this action claim that the tariffs will scramble supply chains, delay projects and reduce profits for solar farm developers.

Additionally, solar and wind energy plant developers continue to confront the problems caused by grid congestion, often unsuccessfully. Many of these projects have been canceled because renewable plants need to be sited where the resources are optimal, often in remote locations where the transmission systems are not robust as power is consumed substantially in urban areas. The costs associated with the necessary grid upgrades may be prohibitive.

U.S. offshore wind projects progress inconsistently, facing challenges in the areas of environmental and fishery impacts, grid connection complexities, transmission planning and federal permitting processes. Further, U.S. projects are confronted by shipping regulations that may limit the ability of developers to replicate successful European erection models. Proponents of clean energy also face political challenges from constituencies who oppose the impacts to wildlife and the environment that may be caused by clean energy infrastructure projects.

Electricity generation from commercial nuclear power plants in the U.S. began in 1958. At the end of 2021, the U.S. had 93 operating commercial nuclear reactors at 55 nuclear power plants in 28 states. The average age of these nuclear reactors is about 40 years old with most plants authorized to operate for another 20 years. In 2009, construction began on two nuclear reactors in the U.S., Vogtle Units 3 and 4, projects that have since experienced significant construction delays and billions of dollars in cost overruns. In August 2023, Vogtle Unit 3 commenced commercial operation, which marks the first nuclear reactor commissioned in the U.S. since the Tennessee Valley Authority’s Watts Bar 2 in 2016, which was twenty years after the previous one began operation.

Renewed interest in nuclear power could result in the construction of new nuclear powered, carbon-free, electricity generation stations in the U.S. that would use smaller and more economical nuclear reactors. The deployment of small modular reactors could mean lower construction and electricity costs through the use of simpler power plant designs, standardized components and passive safety measures. Such plants could be built in less time than larger plants, utilize less space and represent a viable choice for reliable power to offset the intermittencies of renewable power sources. The increase by the U.S. in its use of nuclear power for electricity generation could have unfavorable effects on the demand for new natural gas-fired and additional renewable energy facilities in the future, but could provide balance-of-plant construction opportunities for GPS.

Nevertheless, we believe that the lower operating costs of natural gas-fired power plants, the higher energy generating efficiencies of modern gas turbines, and the requirements for grid resiliency should sustain the demand for modern combined cycle and simple cycle gas-fired power plants in the future. Natural gas is relatively clean burning, generally

29

cost-effective, reliable and abundant. New gas-fired power plants incorporate major advances in gas-fired turbine technologies that have provided increased power plant efficiencies while providing the quick starting capabilities and the reliability that are necessary to balance the inherent intermittencies of wind and solar power plants.

We believe that the benefits of natural gas as a source of power are compelling, especially as a complement to the deployment of wind and solar powered energy sources, and that the future long-term prospects for natural gas-fired power plant construction remain generally favorable as natural gas continues to be the primary source for power generation in our country. The future availability of less carbon-intense and higher efficiency natural gas in the U.S. should be a significant factor in the economic assessment of future power generation capacity additions, although the pace of new opportunities emerging may be restrained and the starts of awarded EPC projects may be delayed or cancelled due to the challenges described above.

We also believe that it is also important to note that the plans for certain natural gas-fired power plant projects include the integration of hydrogen-burning capabilities. While the plants will initially burn natural gas alone, it is planned by the respective project owners that the plants will eventually burn a mixture of natural gas and green hydrogen, thereby establishing power-generation flexibility for these plants. We believe this is a winning combination that provides inexpensive and efficient power, enhances grid reliability and addresses clean-air concerns. The building of state-of-the-art power plants with flex-fuel capability replaces coal-fired power plants in the short term with relatively clean gas-fired electricity generation. Further, such additions to the power generation fleet provide the potential for the plants to burn 100% green hydrogen gas, which would provide both base load power and long duration back-up power, when the sun is not shining or the wind is not blowing, for extended periods of time and without certain harmful air emissions.

It has been stated that the current scramble for electricity, regardless of source, caused by the Russian invasion of Ukraine has clarified that the 100% transition to renewable energy is in the distant future and has prompted, in part, renewed interest in not only carbon capture techniques, but carbon removal technologies as well. Carbon capture processes grab carbon from smokestacks and other sources of dense greenhouse gases, thereby reducing harmful emissions. Carbon-removal technologies are more demanding as they remove carbon out of the more diffuse open air in order to store it for centuries. Governments, including the U.S., are taking initial steps to boost this industry. The success of this industry could reduce the climate-change fear associated with natural gas-fired power plants. We intend to execute an “all-of-the-above” approach in pursuing the construction of future facilities that support the energy transition, which we see as a continuation of our historical commitment to building cleaner energy plants.

The business footprint for TRC encompasses the Southeast region of the U.S. where there are many business-friendly local and state governments that welcome industrial production facilities. It is notable that significant events like the COVID-19 pandemic and the commitment to renewable energy in the U.S. are resulting in meaningful new business opportunities for TRC in its region. The national focus on infrastructure improvements, biotechnology advancements and energy storage have resulted in firms that are focused on these trends recently choosing TRC to participate in major construction projects in the region.

The foregoing discussion in this “Market Outlook” does focus on the state of the domestic power market as the EPC services business of GPS historically provides the predominant amount of our revenues. However, overseas power markets provide important new power construction opportunities for us especially across Ireland and the U.K.

While both of these countries are committed to the increase in energy consumption sourced from wind and the sun on the pathway to net zero emissions, there is a recognition that these sources of electrical power are inherently variable. Other technologies will be required to support these power sources and to provide electricity when power demands exceed the amount of electricity supplied by these renewables. The existence of the necessary power reserve will require conventional generation sources, typically natural gas-fired power plants but including nuclear power in the U.K. APC was awarded the significant Kilroot project late in Fiscal 2022 to build a clean burning natural gas-fired power plant in Northern Ireland so that existing coal-fired power sources there can be replaced.

The Irish government has issued a policy statement on the security of the electricity supply in Ireland which confirms the requirement for the development of new support technologies to deliver on its commitment to have 80% of the country’s electricity generated from renewables by 2030. The report emphasizes that this will require a combination of conventional generation (typically powered by natural gas), interconnection to other jurisdictions, demand flexibility and other

30

technologies such as battery storage and generation from renewable gases. The Irish government has approved that the development of new conventional generation (including gas-fired and gasoil distillate-fired generation) is a national priority and should be permitted and supported in order to ensure the security of electricity supply while supporting the growth of renewable electricity generation.

As noted above, APC entered into engineering and construction services contracts during Fiscal 2023 with the ESB to construct three 65 MW aero-derivative gas turbine flexible generation power plants around the city of Dublin, Ireland. All three projects are expected to operate intermittently during peak periods of electricity demand and as back-up supply options when renewable electricity generation is limited. Additionally, the Shannonbridge Project, for which APC received full notice to proceed in August 2023 to construct eight turbine units capable of producing 264 MW of power, is an initiative of EirGrid and the ESB that aims to ensure reliable electricity supply during critical situations and emergencies.

Further, the Irish government recognized that the successful development of data centers in the country is a key aspect in promoting Ireland as a digital economy hot-spot in Europe. The stewards of the electricity supply in Ireland recognize that the large increase in electricity demand presented by the growth of the data center industry represents an evolving, significant risk to the security of the supply. During Fiscal 2023, APC completed a project to install natural gas-fired power generation for a major data center in the Dublin area.

APC is actively pursuing other new business opportunities in both the renewable and support sectors of power generation with its existing and new clients. Over the past few years, GPS has provided top management guidance and project management expertise to APC as it completed its subcontract efforts for a biomass-burning power plant and won the awards of the projects to build new gas-fired power plant units near Belfast and Dublin. APC has provided manpower to GPS on several of its EPC services contracts. These recent experiences have demonstrated that the two companies can combine resources effectively. We believe that GPS and APC working together is a competitive advantage as we pursue emerging new business opportunities in Ireland and the U.K. GPS is teaming with APC in the performance of the Shannonbridge Project.

We are committed to the rational pursuit of new construction projects, including those with overseas locations and unique deployments of power-generation turbines, and the future growth of our revenues. This may result in additional decisions to make investments in the development and/or ownership of new projects. Because we believe in the strength of our balance sheet, we are willing to consider certain opportunities that include reasonable and manageable risks in order to assure the award of the related EPC or equipment installation services contracts to us.

The competitive landscape for our core EPC services business related to natural gas-fired power plants in the U.S. remains dynamic, although there are fewer competitors for new gas-fired power plant EPC services project opportunities. Several major competitors have exited the market for a variety of reasons or have been acquired. Others have announced intentions to avoid entering into fixed-price contracts. Nonetheless, the competition for new utility-scale gas-fired power plant construction opportunities is fierce and still includes multiple global firms.  We believe that the Company has a reputation as an accomplished, dependable and cost-effective provider of EPC and other large project construction contracting services. With the proven ability to deliver completed power facilities, particularly combined cycle, natural gas-fired power plants, we are focused on expanding our position in the power markets of the U.S., Ireland and the U.K. where we expect investments to be made based on forecasts of electricity demand covering decades into the future. We believe that our expectations are valid and that our plans for the future continue to be based on reasonable assumptions.

Comparison of the Results of Operations for the Three Months Ended July 31, 2023 and 2022

We reported net income of $12.8 million, or $0.94 per diluted share, for the three months ended July 31, 2023. For the comparable period of the prior year, we reported net income of $4.2 million, or $0.30 per diluted share.

31

The following schedule compares our operating results for the three months ended July 31, 2023 and 2022 (dollars in thousands):

Three Months Ended July 31, 

    

2023

    

2022

    

$ Change

    

% Change

REVENUES

 

  

 

  

 

  

 

  

Power industry services

$

105,345

$

91,327

$

14,018

 

15.3

%

Industrial construction services

 

32,756

 

23,022

 

9,734

 

42.3

Telecommunications infrastructure services

 

3,248

 

3,761

 

(513)

 

(13.6)

Revenues

 

141,349

 

118,110

 

23,239

 

19.7

COST OF REVENUES

 

  

 

  

 

  

 

  

Power industry services

 

87,094

 

71,225

 

15,869

 

22.3

Industrial construction services

 

28,076

 

19,551

 

8,525

 

43.6

Telecommunications infrastructure services

 

2,437

 

2,947

 

(510)

 

(17.3)

Cost of revenues

 

117,607

 

93,723

 

23,884

 

25.5

GROSS PROFIT

 

23,742

 

24,387

 

(645)

 

(2.6)

Selling, general and administrative expenses

 

10,501

 

10,984

 

(483)

 

(4.4)

INCOME FROM OPERATIONS

 

13,241

 

13,403

 

(162)

 

(1.2)

Other income, net

 

4,118

 

505

 

3,613

 

715.4

INCOME BEFORE INCOME TAXES

 

17,359

 

13,908

 

3,451

 

24.8

Income tax expense

 

4,592

 

9,686

 

(5,094)

 

(52.6)

NET INCOME

$

12,767

$

4,222

$

8,545

202.4

%

Revenues

Power Industry Services

The revenues of the power industry services segment, representing the businesses of GPS and APC, increased by 15.3%, or $14.0 million, to $105.3 million for the three months ended July 31, 2023 compared with revenues of $91.3 million for the three months ended July 31, 2022 as the quarterly construction activities increased for the Shannonbridge Power Project, the Trumbull Energy Center, The ESB FlexGen peaker plants, and the Kilroot Power Station. The increase in revenues between quarters was partially offset by decreased construction activities associated with the Guernsey Power Station project and Maple Hill Solar energy facility, as those projects are generally near or at completion. The revenues of this business segment represented approximately 74.5% of consolidated revenues for the quarter ended July 31, 2023 and 77.3% of consolidated revenues for the corresponding prior year quarter.

The primary driver for the revenues of this segment for the three months ended July 31, 2022 were the revenues associated with the construction of the Guernsey Power Station.

Industrial Construction Services

The revenues of our industrial construction services segment, representing the business of TRC, increased by $9.7 million, or 42.3%, to $32.8 million for the three months ended July 31, 2023 compared to revenues of $23.0 million for the three months ended July 31, 2022 as the amounts of field services and vessel fabrication work increased meaningfully between periods. For the three months ended July 31, 2023 and 2022, the revenues of this segment represented 23.2% and 19.5% of consolidated revenues for the corresponding periods.

The major customers of TRC include one of North America’s largest fertilizer producers, as well as chemical, mining, forest products, construction, energy and manufacturing companies with plants, facilities and other sites located primarily in the Southeast region of the U.S. TRC also  has two significant projects underway for field service work at water treatment facilities.

32

Telecommunications Infrastructure Services

The revenue results of this business segment, which represent the business of SMC, were $3.2 million for the three-month period ended July 31, 2023, a decrease of $0.5 million, or 13.6%, from the amount of revenues earned during the three months ended July 31, 2022.

Cost of Revenues

With the increase in consolidated revenues for the three months ended July 31, 2023 compared with last year’s second quarter ended July 31, 2022, the consolidated cost of revenues also increased between the quarters. These costs were $117.6 million and $93.7 million for the three-month periods ended July 31, 2023 and 2022, respectively, representing an increase of approximately 25.5%.

For the three-month period ended July 31, 2023, we reported a consolidated gross profit of approximately $23.7 million which represented a gross profit percentage of approximately 16.8% of corresponding consolidated revenues, a decrease from the three-month period ended July 31, 2022 primarily due to changes in the mix of our revenues and unfavorable profit adjustments on an APC project. The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 17.3%, 14.3% and 25.0%, respectively, for the quarter ended July 31, 2023.

Our consolidated gross profit reported for the three-month period ended July 31, 2022 was $24.4 million, which represented a gross profit percentage of approximately 20.6% of corresponding consolidated revenues. The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 22.0%, 15.1% and 21.6%, respectively, for the quarter ended July 31, 2022.

Selling, General and Administrative Expenses

These costs were $10.5 million and $11.0 million for the three months ended July 31, 2023 and 2022, respectively, and represented 7.4% and 9.3% of corresponding consolidated revenues, respectively.

Other Income, Net

Other income, net, for the three months ended July 31, 2023 was $4.1 million, which reflected income earned during the period on funds invested in a money market account, CDs and U.S. Treasury notes in the total amount of approximately $3.3 million, as investment returns are meaningfully higher this year.

We reported other income, net, in the amount of $0.5 million for the three months ended July 31, 2022, which included primarily earnings associated with our solar fund investments.

Income Taxes

We incurred income tax expense for the three months ended July 31, 2023 in the amount of approximately $4.6 million, which represents an effective income tax rate of 26.5%. This effective tax rate differs from the statutory federal tax rate of 21% due primarily to the unfavorable estimated effects of state income taxes and permanent differences, including certain nondeductible executive compensation and an increased amount of global intangible low taxed income (“GILTI”) for the current fiscal quarter. For the three months ended July 31, 2022, we reported income tax expense in the amount of approximately $9.7 million, including an unfavorable adjustment in the approximate amount of $6.2 million that was related to the settlement of the research and development credit claims with the IRS. Excluding the effect of this adjustment, our effective income tax rate for the three months ended July 31, 2022 was 25.2%.

Comparison of the Results of Operations for the Six Months Ended July 31, 2023 and 2022

We reported net income of $14.9 million, or $1.10 per diluted share, for the six months ended July 31, 2023. For the comparable period of the prior year, we reported net income of $11.7 million, or $0.80 per diluted share.

33

The following schedule compares our operating results for the six months ended July 31, 2023 and 2022 (dollars in thousands):

Six Months Ended July 31, 

    

2023

    

2022

    

$ Change

    

% Change

REVENUES

 

  

 

  

 

  

 

  

Power industry services

$

175,521

$

165,276

$

10,245

 

6.2

%

Industrial construction services

 

63,063

 

45,523

 

17,540

 

38.5

Telecommunications infrastructure services

 

6,440

 

7,588

 

(1,148)

 

(15.1)

Revenues

 

245,024

 

218,387

 

26,637

 

12.2

COST OF REVENUES

 

  

 

  

 

  

 

  

Power industry services

 

147,429

 

130,260

 

17,169

 

13.2

Industrial construction services

 

54,638

 

38,231

 

16,407

 

42.9

Telecommunications infrastructure services

 

4,991

 

5,771

 

(780)

 

(13.5)

Cost of revenues

 

207,058

 

174,262

 

32,796

 

18.8

GROSS PROFIT

 

37,966

 

44,125

 

(6,159)

 

(14.0)

Selling, general and administrative expenses

 

21,092

 

21,559

 

(467)

 

(2.2)

INCOME FROM OPERATIONS

 

16,874

 

22,566

 

(5,692)

 

(25.2)

Other income, net

 

3,489

 

1,100

 

2,389

 

217.2

INCOME BEFORE INCOME TAXES

 

20,363

 

23,666

 

(3,303)

 

(14.0)

Income tax expense

 

5,487

 

11,959

 

(6,472)

 

(54.1)

NET INCOME

$

14,876

$

11,707

$

3,169

 

27.1

%

Revenues

Power Industry Services

The revenues of the power industry services segment, increased by $10.3 million, or 6.2%, to $175.5 million for the six months ended July 31, 2023 compared with revenues of $165.3 million for the six months ended July 31, 2022 as the current year construction activities increased for the Shannonbridge Power Project, the Trumbull Energy Center, The ESB FlexGen peaker plants, and the Kilroot Power Station. The increase in revenues between years was partially offset by decreased construction activities associated with the Guernsey Power Station project, the Maple Hill Solar energy facility and APC’s Equinix data center project, as those projects are generally near or at completion. The revenues of this business segment represented approximately 71.6% of consolidated revenues for the six-month period ended July 31, 2023 and 75.7% of consolidated revenues for the six-month period ended July 31, 2022.

The primary driver for the revenues of this segment for the six months ended July 31, 2022 were the revenues associated with the construction of the Guernsey Power Station.

Industrial Construction Services

The revenues of our industrial construction services segment, increased by $17.5 million, or 38.5%, to $63.1 million for the six months ended July 31, 2023 compared to revenues of $45.5 million for the six months ended July 31, 2022 as the amounts of field services and, particularly, vessel fabrication work in support of field services increased between periods. For the six months ended July 31, 2023 and 2022, the revenues of this segment represented 25.7% and 20.8% of consolidated revenues for the corresponding periods.

Telecommunications Infrastructure Services

The revenue results of this business segment, were $6.4 million for the six-month period ended July 31, 2023, a decrease of $1.2 million, or 15.1%, from the amount of revenues earned during the six months ended July 31, 2022.

Cost of Revenues

With the increase in consolidated revenues for the six months July 31, 2023 compared with last year’s six-month period ended July 31, 2022, the consolidated cost of revenues also increased between the periods. These costs were $207.1 million

34

and $174.3 million for the six-month periods ended July 31, 2023 and 2022, respectively, representing an increase of approximately 18.8%.

For the six-month period ended July 31, 2023, we reported a consolidated gross profit of approximately $38.0 million which represented a gross profit percentage of approximately 15.5% of corresponding consolidated revenues, a decrease from the six-month period ended July 31, 2022 primarily due to changes in our revenue mix and unfavorable profit adjustments on an APC project. The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 16.0%, 13.4% and 22.5%, respectively, for the six months ended July 31, 2023.

Our consolidated gross profit reported for the six-month period ended July 31, 2022 was $44.1 million, which represented a gross profit percentage of approximately 20.2% of corresponding consolidated revenues. The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 21.2%, 16.0% and 23.9%, respectively, for the six months ended July 31, 2022.

Selling, General and Administrative Expenses

These costs were $21.1 million and $21.6 million for the six months ended July 31, 2023 and 2022, respectively, and represented 8.6% and 9.9% of corresponding consolidated revenues, respectively.

Other Income, Net

Other income, net, for the six months ended July 31, 2023 was $3.5 million, which reflected income earned during the period on invested funds in the total amount of approximately $5.7 million, as investment returns are meaningfully higher this year, partially offset by the wire-transfer fraud loss of $3.0 million that occurred in the first quarter of Fiscal 2024 and $0.2 million in related professional fees. Also included in other income, net, are approximately $0.4 million in funds that have been recovered from the wire-transfer fraud loss through legal efforts and insurance proceeds (see Note 15 to the accompanying condensed consolidated financial statements).

We reported other income, net, in the amount of $1.1 million for the six months ended July 31, 2022, which included primarily earnings associated with our solar fund investments.

Income Taxes

We incurred income tax expense for the six months ended July 31, 2023 in the amount of approximately $5.5 million, which represents an effective income tax rate of 26.9%. This estimated tax rate differs from the statutory federal tax rate of 21% due primarily to the unfavorable estimated effects of state income taxes and permanent differences, including certain nondeductible executive compensation and an increased amount of GILTI for the current year. For the six months ended July 31, 2022, we reported income tax expense in the amount of approximately $12.0 million, including the aforementioned unfavorable adjustment in the amount of $6.2 million related to the settlement of research and development claims with the IRS. Excluding the effect of this adjustment, our effective income tax rate for the six-months ended July 31, 2022 was 24.4%.

Liquidity and Capital Resources as of July 31, 2023

At July 31 and January 31, 2023, our balances of cash and cash equivalents were $204.8 million and $173.9 million, respectively, which represented an increase of $30.9 million.

The net amount of cash provided by operating activities for the six months ended July 31, 2023 was $34.6 million. Our net income for the six months ended July 31, 2023, adjusted favorably by the net amount of non-cash income and expense items, represented a source of cash in the total amount of $18.8 million. The reduction in the balance of contract assets of $4.0 million, represented a source of cash and was primarily due to project retentions being collected as the Guernsey Power Station reached substantial completion during the period, partially offset by an increase in contract assets related to the Kilroot project. The $5.6 million decrease in contract receivables during the period represented a source of cash, primarily due to collections of receivables and the billing of project retentions related to the Guernsey Power Station, partially offset by APC project billings reflecting increased construction activity. The increase in contract liabilities of $20.2 million represented a source of cash, primarily due to the net effect of the early phase of construction activities on a

35

GPS project and the post peak phase of certain APC projects. However, reductions in the combined level of accounts payables and accrued expenses in the amount of $8.9 million and the increase of other assets of $5.2 million, represented uses of cash during the period.

During the six months ended July 31, 2023, our primary source of cash from investing activities was the net maturities of CDs issued by the Bank, in the amount of $69.8 million. We used $60.3 million of these proceeds to invest in available-for-sale U.S. Treasury notes. We also used $1.0 million to make capital expenditures.

For the six months ended July 31, 2023, we used $12.5 million cash in financing activities, including $6.7 million used to repurchase shares of common stock pursuant to our share repurchase program and $6.7 million used for the payment of regular cash dividends. We received proceeds from the exercise of stock options in the amount of $0.9 million, which represented a source of cash. As of July 31, 2023, there were no restrictions with respect to intercompany payments between the holding company, GPS, TRC, APC and SMC.

During the six months ended July 31, 2022, our balance of cash and cash equivalents decreased by a net amount of $207.2 million and our working capital decreased by $48.1 million to $236.2 million as of July 31, 2022 from $284.3 million as of January 31, 2022.

The net amount of cash used in operating activities for the six months ended July 31, 2022 was $56.8 million. Our net income for the six months ended July 31, 2022, adjusted favorably by the net amount of non-cash income and expense items, represented a source of cash in the total amount of $15.7 million. However, reductions in the balance of contract liabilities and the combined level of accounts payable and accrued expenses in the amounts of $63.9 million and $16.1 million, respectively, represented uses of cash. Both of these reductions related primarily to the decline in the construction activity of the Guernsey Power Station project, partially offset by an increase in contract liabilities at several APC projects. Additionally, the increase in contract assets in the amount of $3.8 million represented a use of cash during the period. The decreases in the amounts of accounts receivable and other assets in the amounts of $2.1 million and $9.3 million, represented sources of cash during the period.

During the six months ended July 31, 2022, we used cash to purchase CDs issued by the Bank in the amount of $85.0 million. We also used $60.3 million cash in financing activities during the six months ended July 31, 2022, including $53.2 million used to repurchase shares of our common stock and $7.2 million used for the payment of regular cash dividends.

At July 31, 2023, a portion of our balance of cash and cash equivalents was invested in certificates of deposit and a money market fund with most of its net assets invested in cash, U.S. Treasury obligations and repurchase agreements secured by U.S. government obligations. The major portion of our domestic operating bank account balances are maintained with the Bank. We do maintain certain Euro-based bank accounts in Ireland and certain pound sterling-based bank accounts in the U.K. in support of the operations of APC.

In order to monitor the actual and necessary levels of liquidity for our business, we focus on net liquidity, or working capital, in addition to our cash balances. During the six months ended July 31, 2023, our net liquidity increased by $3.3 million to $239.5 million from $236.2 million as of January 31, 2023, due primarily to our net income for the period, partially offset by common stock repurchases and the payment of cash dividends. As we have no debt service, as our fixed asset acquisitions in a reporting period are typically low, and as our net liquidity includes our short-term investments and available-for-sale U.S. Treasury notes, our levels of working capital are not subjected to the volatility that affects our levels of cash and cash equivalents.

During April 2021, we amended our Credit Agreement with the Bank which extended the expiration date of the Credit Agreement to May 31, 2024 and reduced the borrowing rate. On March 6, 2023, we entered into the Second Amendment to the Credit Agreement. The Second Amendment modified the Credit Agreement to, primarily, replace the interest pricing with a rate of SOFR plus 1.6% and add SOFR successor rate language. The Credit Agreement, as amended, includes the following features, among others: a lending commitment of $50.0 million including a revolving loan and an accordion feature which allows for an additional commitment amount of $10.0 million, subject to certain conditions. Additionally, the Credit Agreement, as amended, continues to include customary terms, covenants and events of default for a credit facility of its size and nature. Prior to the expiration of the current term of the Credit Agreement, we expect to reach agreement with the Bank to extend it.

36

We may also use the borrowing ability to cover other credit instruments issued by the Bank for our use in the ordinary course of business as defined by the Bank. At July 31, 2023, we had no outstanding borrowings. However, the Bank has issued letters of credit in the total outstanding amount of $9.4 million in support of the activities of APC under new customer contracts.

We have pledged the majority of our assets to secure the financing arrangements. The Bank’s consent is not required for acquisitions, divestitures, cash dividends or significant investments as long as certain conditions are met. The Credit Agreement, as amended, requires that we comply with certain financial covenants at our fiscal year-end and at each fiscal quarter-end, and includes other terms, covenants and events of default that are customary for a credit facility of its size and nature, including a requirement to achieve positive adjusted earnings before interest, taxes, depreciation and amortization, as defined, over each rolling twelve-month measurement period. At July 31, 2023, we were compliant with the covenants of the Credit Agreement, as amended.

In the normal course of business and for certain major projects, we may be required to obtain surety or performance bonding, to provide parent company guarantees, or to cause the issuance of letters of credit (or some combination thereof) in order to provide performance assurances to clients on behalf of one of our subsidiaries.

If our services under a guaranteed project would not be completed or would be determined to have resulted in a material defect or other material deficiency, then we could be responsible for monetary damages or other legal remedies. As is typically required by any surety bond, we would be obligated to reimburse the issuer of any surety bond provided on behalf of a subsidiary for any cash payments made thereunder. The commitments under performance bonds generally end concurrently with the expiration of the related contractual obligation. Not all of our projects require bonding.

As of July 31, 2023 and January 31, 2023, the estimated amounts of the Company’s unsatisfied bonded performance obligations, covering all of its subsidiaries, were approximately $0.5 billion and $0.6 billion, respectively. As of July 31, 2023 and January 31, 2023, the outstanding amounts of bonds covering other risks, including warranty obligations related to completed activities, were not material.

We have also provided a financial guarantee in the amount of $3.6 million to support certain project developmental efforts. A liability was established for the estimated loss related to this guarantee during Fiscal 2022.

When sufficient information about claims related to performance on projects would be available and monetary damages or other costs or losses would be determined to be probable, we would record such losses. As our subsidiaries are wholly-owned, any actual liability related to contract performance is ordinarily reflected in the financial statement account balances determined pursuant to the Company’s accounting for contracts with customers. Any amounts that we may be required to pay in excess of the estimated costs to complete contracts in progress as of July 31, 2023 are not estimable.

The Company made prior year investments of approximately $6.3 million in limited liability companies that make equity investments in solar energy projects that are eligible to receive energy tax credits. It is likely that we will evaluate opportunities to make other solar energy investments of this type in the future.

We believe that cash on hand, our cash equivalents, cash that will be provided from the maturities of short-term investments and other debt securities and cash generated from our future operations, with or without funds available under our Credit Agreement, as amended, will be adequate to meet our general business needs in the foreseeable future. In general, we maintain significant liquid capital in our consolidated balance sheet to ensure the maintenance of our bonding capacity and to provide parent company performance guarantees for EPC and other construction projects.

However, any significant future acquisition, investment or other unplanned cost or cash requirement, may require us to raise additional funds through the issuance of debt and/or equity securities. There can be no assurance that such financing will be available on terms acceptable to us, or at all.

37

Earnings before Interest, Taxes, Depreciation and Amortization (“EBITDA”)

The table following immediately below presents the determinations of EBITDA for the three and six months ended July 31, 2023 and 2022, respectively (amounts in thousands).

Three Months Ended

July 31, 

    

2023

    

2022

Net income, as reported

$

12,767

$

4,222

Income tax expense

 

4,592

 

9,686

Depreciation

 

488

 

747

Amortization of intangible assets

 

98

 

233

EBITDA

$

17,945

$

14,888

    

Six Months Ended

July 31, 

    

2023

    

2022

Net income, as reported

$

14,876

$

11,707

Income tax expense

 

5,487

 

11,959

Depreciation

 

1,035

 

1,556

Amortization of intangible assets

 

196

 

399

EBITDA

$

21,594

$

25,621

We believe that EBITDA is a meaningful presentation that enables us to assess and compare our operating performance on a consistent basis by removing from our operating results the impacts of our capital structure, the effects of the accounting methods used to compute depreciation and amortization and the effects of operating in different income tax jurisdictions. Further, we believe that EBITDA is widely used by investors and analysts as a measure of performance.

However, as EBITDA is not a measure of performance calculated in accordance with U.S. GAAP, we do not believe that this measure should be considered in isolation from, or as a substitute for, the results of our operations presented in accordance with U.S. GAAP that are included in our condensed consolidated financial statements. In addition, our EBITDA does not necessarily represent funds available for discretionary use and is not necessarily a measure of our ability to fund our cash needs.

Critical Accounting Policies

Critical accounting policies are those related to the areas where we have made what we consider to be particularly subjective or complex judgments in arriving at estimates and where these estimates can significantly impact our financial results under different assumptions and conditions.

These estimates, judgments, and assumptions affect the reported amounts of assets, liabilities and equity, the disclosure of contingent assets and liabilities at the date of financial statements and the reported amounts of revenues and expenses during the reporting periods. We base our estimates on historical experience and various other assumptions that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets, liabilities and equity that are not readily apparent from other sources. Actual results and outcomes could differ from these estimates and assumptions. We do periodically review these critical accounting policies and estimates with the audit committee of our board of directors.

We consider the accounting policies related to revenue recognition on long-term construction contracts; income tax reporting; and the financial reporting associated with any significant claims or legal matters to be most critical to the understanding of our financial position and results of operations. An expanded discussion of our critical accounting policies is included in Item 7 of Part II of our Annual Report. During the six months ended July 31, 2023, there have been no material changes in the way we apply the critical accounting policies described therein.

38

Recently Issued Accounting Pronouncements

Other than ASU 2023-02 that is related to the accounting for investment tax credits and that is discussed in Note 1 to the accompanying condensed consolidated financial statements, there are no recently issued accounting pronouncements that have not yet been adopted that we believe may be material to our consolidated financial statements.

ITEM 3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

In the normal course of business, our results of operations may be subject to risks related to fluctuations in interest rates. As of July 31, 2023, we had no outstanding borrowings under our financing arrangements with the Bank (see Note 6 to the accompanying condensed consolidated financial statements), which provide a revolving loan with a maximum borrowing amount of $50.0 million that is available until May 31, 2024 with interest at SOFR plus 1.6%. During the three months ended July 31, 2023 and 2022, we did not enter into any material derivative financial instruments for trading, speculation or other purposes that would expose us to market risk.

We maintain a substantial amount of our temporarily investable cash in certificates of deposit, a money market fund and U.S. Treasury notes (see Note 3 of the accompanying condensed consolidated financial statements). As of July 31, 2023, the weighted average number of days remaining until maturity for the certificates of deposit and U.S Treasury notes was 498 days. The weighted average annual interest rate of our certificates of deposit of $80.0 million, the money market fund balance of $127.1 million, and the U.S. Treasury notes face value of $60.0 million was 5.0%. To illustrate the potential impact of changes in the overall interest rate associated with our investable cash balance at July 31, 2023 on our annual results of operations, we present the following hypothetical analysis. It assumes that our condensed consolidated balance sheet as of July 31, 2023 remains constant, and no further actions are taken to alter our existing interest rate sensitivity, including reinvestments (dollars in thousands).

Increase (Decrease) in

Increase (Decrease) in

Net Increase (Decrease) in

Basis Point Change

    

Interest Income

    

Interest Expense

    

Income (Pre-Tax)

Up 300 basis points

$

9,546

$

$

9,546

Up 200 basis points

6,364

6,364

Up 100 basis points

 

3,182

 

 

3,182

Down 100 basis points

(3,182)

(3,182)

Down 200 basis points

(6,364)

(6,364)

Down 300 basis points

 

(9,546)

 

 

(9,546)

With the consolidation of APC, we are subject to the effects of translating the financial statements of APC from its functional currency (Euros) into our reporting currency (U.S. dollars). The effects of translation are recognized in accumulated other comprehensive loss, which is net of tax when applicable. APC remeasures transactions and subsidiary financial statements denominated in local currencies to Euros. Gains and losses on the remeasurements are recorded in the other (loss) income line of our condensed consolidated statement of earnings.

In the “Risk Factors” section of our Annual Report, we included discussion of the risks to our fixed price contracts if actual contract costs rise above the estimated amounts of such costs that support corresponding contract prices. Identified as factors that could cause contract cost overruns, project delays or other unfavorable effects on our contracts, among other circumstances and events, are delays in the scheduled deliveries of machinery and equipment ordered by us or project owners, unforeseen increases in the costs of labor, warranties, raw materials, components or equipment or the failure or inability to obtain resources when needed.

We are subject to fluctuations in prices for commodities including steel products, copper, concrete and fuel. Although we attempt to secure firm quotes from our suppliers, we generally do not hedge against increases in prices for these commodities. Commodity price risks may have an impact on our results of operations due to the fixed-price nature of many of our contracts. We attempt to include the anticipated amounts of price increases or decreases in the costs of our bids. In times of increased supply cost volatility, we may take other steps to reduce our risks. For example, we may hold quotes related to materials in our industrial construction services segment for very short periods. For major fixed price contracts in our power industry services segment, we may mitigate material cost risks by procuring the majority of the equipment and construction supplies during the early phases of a project. The profitability of our active jobs has not suffered meaningfully from the periodic global surges in non-residential construction material costs.

39

Our operations have been challenged by the well-publicized global supply chain disruptions. While management of the risks associated with the inability to obtain machinery, equipment and other materials when needed continues to require our best efforts, we are concerned that the supply chain uncertainties may be impacting project owners’ confidence in commencing new work which may adversely affect our expected levels of revenues until the supply chain disruptions substantially dissipate.

ITEM 4. CONTROLS AND PROCEDURES

Evaluation of disclosure controls and procedures. Our management, with the participation of our chief executive officer and 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 July 31, 2023. Management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving their objectives, and management necessarily applies its judgment in evaluating the cost-benefit relationship of possible controls and procedures. Based on the evaluation of our disclosure controls and procedures as of July 31, 2023, our chief executive officer and chief financial officer concluded that, as of such date, our disclosure controls and procedures were effective to provide reasonable assurance that information required to be disclosed in our Exchange Act reports is recorded, processed, summarized, and reported within the time periods specified by the SEC, and the material information related to the Company and its consolidated subsidiaries is made known to management, including the chief executive officer and chief financial officer, to allow timely decisions regarding required disclosure in the reports.

Changes in internal controls over financial reporting. There have been no significant changes in our internal control over financial reporting (as defined in Rules 13a-15 and 15d-15 under the Exchange Act) during the fiscal quarter ended July 31, 2023 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

PART II

ITEM 1. LEGAL PROCEEDINGS

In the normal course of business, we may have pending claims and legal proceedings. It is our opinion, based on information available at this time, that any current claim or proceeding will not have a material effect on our condensed consolidated financial statements.

ITEM 1A. RISK FACTORS

There have been no material changes to the risk factors disclosed in our Annual Report.

ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS

Our board of directors has authorized management to spend up to $125 million in the repurchase of shares of our common stock in the open market or through investment banking institutions, privately-negotiated transactions, or direct purchases (the “Share Repurchase Plan”). The timing and amount of stock repurchase transactions will depend on market and business conditions, applicable legal and credit requirements and other corporate considerations. In accordance with the SEC’s Rule 10b5-1, and pursuant to the Share Repurchase Plan, we have allowed, and may in the future allow, the repurchase of our common stock during trading blackout periods by an investment banking firm or other institution agent acting on our behalf pursuant to predetermined parameters.

40

Information related to our share repurchases for the three months ended July 31, 2023 follows:

Approximate Dollar

Total Number of

Value of Shares That May Yet

Shares Purchased as Part of

Be Purchased under the

Total Number of

Average Price per

Publicly Announced

Plans or Programs

Period

    

Shares Repurchased

    

Share Paid

    

Plans or Programs

    

(Dollars in Thousands)

May 1 - 31, 2023

3,932

$

39.96

3,932

$

32,574

June 1 - 30, 2023

21,701

$

39.98

21,701

$

31,706

July 1 - 31, 2023

51,499

$

38.88

51,499

$

29,704

Total

 

77,132

 

77,132

Under the Share Repurchase Plan and as of July 31, 2023, the Company has repurchased 2,553,254 shares of its common stock since November 2021 (when it began to make such repurchases) at an average price of $37.32 per share.

ITEM 3.  DEFAULTS UPON SENIOR SECURITIES

None

ITEM 4. MINE SAFETY DISCLOSURES

Not Applicable

ITEM 5. OTHER INFORMATION

None

ITEM 6. EXHIBITS

Exhibit No. 

    

Title

Exhibit 31.1

 

Certification of Chief Executive Officer, pursuant to Rule 13a-14(c) under the Securities Exchange Act of 1934.

Exhibit 31.2

 

Certification of Chief Financial Officer, pursuant to Rule 13a-14(c) under the Securities Exchange Act of 1934.

Exhibit 32.1

 

Certification of Chief Executive Officer, pursuant to 18 U.S.C. Section 1350. *

Exhibit 32.2

 

Certification of Chief Financial Officer, pursuant to 18 U.S.C. Section 1350. *

 

 

 

Exhibit 101:

Exhibit 101.INS

 

XBRL Instance Document – the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.

Exhibit 101.SCH

 

Inline XBRL Taxonomy Extension Schema.

Exhibit 101.CAL

 

Inline XBRL Taxonomy Extension Calculation Linkbase.

Exhibit 101.LAB

 

Inline XBRL Taxonomy Label Linkbase.

Exhibit 101.PRE

 

Inline XBRL Taxonomy Presentation Linkbase.

Exhibit 101.DEF

 

Inline XBRLTaxonomy Extension Definition Document.

Exhibit 104

Cover Page Interactive Data File – the cover page interactive data file does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.

*

The certification is being furnished and shall not be considered filed as part of this report.

41

SIGNATURES

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.

 

ARGAN, INC.

 

 

September 6, 2023

By:  

/s/ David H. Watson

 

 

David H. Watson

 

 

President and Chief Executive Officer

September 6, 2023

By:  

/s/ Richard H. Deily

 

 

Richard H. Deily

 

 

Senior Vice President, Chief Financial Officer,

 

 

Treasurer and Corporate Secretary

42

EX-31.1 2 agx-20230731xex31d1.htm EX-31.1

Exhibit 31.1

SARBANES-OXLEY ACT SECTION 302(a) CERTIFICATION

I, David H. Watson, certify that:

1.    I have reviewed this Quarterly Report on Form 10-Q of Argan, Inc. (the “Registrant”) for the period ended July 31, 2023;

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 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 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 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: September 6, 2023

By:

/s/ David H. Watson

 

 

David H. Watson

President and Chief Executive Officer

 

 

(Principal Executive Officer)


EX-31.2 3 agx-20230731xex31d2.htm EX-31.2

Exhibit 31.2

SARBANES-OXLEY ACT SECTION 302(a) CERTIFICATION

I, Richard H. Deily, certify that:

1.    I have reviewed this Quarterly Report on Form 10-Q of Argan, Inc. (the “Registrant”) for the period ended July 31, 2023;

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 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 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 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: September 6, 2023

By:

/s/ Richard H. Deily

 

 

Richard H. Deily

Senior Vice President, Chief Financial Officer, Treasurer and Corporate Secretary

 

 

(Principal Financial Officer)


EX-32.1 4 agx-20230731xex32d1.htm 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 Argan, Inc., a Delaware corporation (the “Company”), on Form 10-Q for the period ended July 31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, David H. Watson, President and Chief Executive Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:

1.     The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

2.     Information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Date: September 6, 2023

By:

/s/ David H. Watson

 

 

David H. Watson

President and Chief Executive Officer

 

 

(Principal Executive Officer)


EX-32.2 5 agx-20230731xex32d2.htm 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 Argan, Inc., a Delaware corporation (the “Company”), on Form 10-Q for the period ended July 31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Richard H. Deily, Senior Vice President and Chief Financial Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:

1.     The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

2.     Information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Date: September 6, 2023

By:

/s/ Richard H. Deily

 

 

Richard H. Deily

Senior Vice President, Chief Financial Officer, Treasurer and Corporate Secretary

 

 

(Principal Financial Officer)


GRAPHIC 6 agx-20230731x10q001.jpg GRAPHIC begin 644 agx-20230731x10q001.jpg M_]C_X 02D9)1@ ! @ 0 ! #_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" ! ( # 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#]3:*** "B MBB@ H)HKP']L3QU-8:QXMBN[6.Y1BK10QPDRD$-O'0 MU\X> OC1::3H2> /B#X>FAGTR);-B(0Z.B<)N3@@@ 89<@\$8KL-'@\."59? M#UQW(!_4UA[*M*:C7A.#C)N,HKGA./2]O(^>^L5*\KMM>FQ M]6_#GXW10Z9*E[X\O+.^BB_=)JEZV2P]?.RK?F:Z;P;^VOHEIKT6C>-+S3[> M"9Q'#KMG,OD!B< 3IN.P?[8)7U"CFO$O!VG:]JVF72Q?"W0-601'-SJ$J08_ MV@"&->"_%[3I-%>;[;IGAG06.^%)(A9S M3<.]C+N\M<'G$;(ZC/\ "4':OLNO'K4I4*CIRZ'HTZBJ14D%%%%8F@4444 % M%%% !1110 5\<_\ !0WP1KNM1> _$GAJ<0:]HLMV+/S?]3,SJA>!^WSHCXS_ M '.W6OL:N3^*7PZL?BGX*O\ P]>SRV1G DM[Z RVDZG,"E M\P,5L?$-E;"?3]04='B9L-&W%M$O9;7PZLFN:@<@WLKF4D]SYAX_[Y&/>O&+]O'?Q M*\1S$FS2SM-.+ 85IFD>0@?[JJ/^^QZU^C]>=? /X+:3\!?AO8>%M*?[0ZLU MQ?7S+M:[N7QOD([#@ #LJJ.U>BUY&+K*O6E46QZ="G[*FHL****Y#<**** M\5\^0_&ES^UM)X6-T?['DL#IB1EOD^V*/.+8Z9/S)^ KW+Q)KD/AKP_J6JW' M,-E;O<,/7:"+ SG4KB*'6IG.3F]23?.G_ (\H MQZ&N>^*7Q\\?7'@O4O#EEI%QX;77&M=>N62-&:V#*9"58Y55C+8*98O MU&,9M58NM[#K:_D:2JQC+EZGUMFBOGG3OBMXL^)"^-]0T/58_#UCH-B]S90B MTCG:X8!ROG%P>"(^0N,;NO'/&? ?]IOQQXY^'GB_QKKZ7KD6H1:H^;G1K_38XXB A$=5T"2&"#6K,7+6US"LA4D1L &^CX_"KEC7AJ'MTVH MZ;>=O\R9U:?+S26UOQ.R\/\ P%\.>'[=X([K5;F%AM>.:Z"AAZ$HJG'XUV^A M>'=,\,V(L])L+?3K8'<8[>,("?4XZGW/-?*WQ0^/OQ+^$/[1'@/0-6OM)O\ MP_XDFMTETRUM-OV=)9C#A92=[.APV[@-_=%?77+ M]8O?#_AO4-3L;:&\ELH7N&@GD,8=44L0& /.!QQ7EOP%^/>L?&[5-;V^'[+2 M-)TETAFE-Z\L\DCJ64*GE@ #DD]^!7IOC__ )$/Q+_V#;G_ -%-7RK^QS>W M.F^!_BU>V4PM[NVEBGBD9 X#+;LPR#U'&*X)5'"JT]N6_P")G.;C42OI8^R* M*^3=8^-'Q0U#X'>*O&&F:KI.FOH4NYIC9"269<)F-5/R*!OSN(8GI@8S6M\/ M?VJ=4\0?LWZ!XMO;.VE\6ZCIZIN,@XKFA2:J2J2UO:WHC.5+FYK]3XU_9J^,.G>-OV/?$/AV?4[9 MM;\,P36$ELTP\TVY8- ^,Y*[6V ^J$5[%^Q[FPR,NTO'9QJ2,YQD#IFK=MI5IIWFO96=M:2R#YFBB M5-V.F[ R>M%2DI8EXA;6M;YW)C2<9J3>RL?,>G2>&;74O'UOHGC73?!VF:HL MFFR0ZT@=P/F#30_.@"_.X4,6]\<5T'A.U\)_L^_ &^'PXU&T\3*+D&YU-)X[ M@/:4=+N-(L9],)R;*2V1H M"@JZN%E5P:PSEKIKZ6_R M-)8=R@XW[?@?#'[;>JV4?[4OP9D>\MTCCFTYG9I5"H#?9!)SP,W)LH-0)4Q-N.QS7IUYX4T346W76C:? MHSC.#7+.DY2< MK[JPYT^>7-?H?'T5[;I^QM\5E:>)6\PC!< Y(AP/QP%8UE(9=#LX&>:)N!)*Q^XL*\L9"P&. M.6(6K7AS]I#1_$?QJN_AQ%I-_#?10SRQWK &)_)($@8#E.O!/7V)%>FZ7X=T MK1'F?3M+LM/>;_6M:VZ1%_\ >*@9_&I8=(L+?4)K^*QMXKZ=0DMTD*K+(HZ! 3F R1]378E) EX-101.SCH 7 agx-20230731.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 40303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - COMMITMENTS - Future minimum lease payments (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - COMMITMENTS - Future minimum lease payments (Details) Calc2 link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details) link:presentationLink link:calculationLink link:definitionLink 41502 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - ACCOUNTS RECEIVABLE link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - INTANGIBLE ASSETS link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - FINANCING ARRANGEMENTS link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - COMMITMENTS link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - LEGAL CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - STOCK-BASED COMPENSATION link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - NET INCOME PER SHARE link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - CUSTOMER CONCENTRATIONS link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - SEGMENT REPORTING link:presentationLink link:calculationLink link:definitionLink 20102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies) link:presentationLink link:calculationLink link:definitionLink 30103 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - INTANGIBLE ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - COMMITMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - STOCK-BASED COMPENSATION (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - INCOME TAXES (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - NET INCOME PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 31403 - Disclosure - SEGMENT REPORTING (Tables) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations Default (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 40302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - ACCOUNTS RECEIVABLE (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - FINANCING ARRANGEMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - COMMITMENTS - Leases (Details) link:presentationLink link:calculationLink link:definitionLink 40703 - Disclosure - COMMITMENTS - Warranties (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details) link:presentationLink link:calculationLink link:definitionLink 40903 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details) link:presentationLink link:calculationLink link:definitionLink 40904 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details) link:presentationLink link:calculationLink link:definitionLink 41003 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details) link:presentationLink link:calculationLink link:definitionLink 41004 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - CUSTOMER CONCENTRATIONS (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - SEGMENT REPORTING (Details) link:presentationLink link:calculationLink link:definitionLink 41503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables) link:presentationLink link:calculationLink link:definitionLink 31503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 8 agx-20230731_cal.xml EX-101.CAL EX-101.DEF 9 agx-20230731_def.xml EX-101.DEF EX-101.LAB 10 agx-20230731_lab.xml EX-101.LAB Document and entity information. Document And Entity Information Statement [Table] Statement [Table] Statement [Line Items] Statement Document Type Document Type Document Quarterly Report Document Period End Date Document Period End Date Document Transition Report Entity File Number Entity Registrant Name Entity Registrant Name Entity Incorporation, State or Country Code Entity Tax Identification Number Entity Address, Address Line One Entity Address, City or Town Entity Address, State or Province Entity Address, Postal Zip Code City Area Code Local Phone Number Title of 12(b) Security Trading Symbol Security Exchange Name Entity Current Reporting Status Entity Interactive Data Current Entity Filer Category Entity Filer Category Entity Small Business Entity Emerging Growth Company Entity Shell Company Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Entity Central Index Key Entity Central Index Key Document Fiscal Year Focus Document Fiscal Year Focus Current Fiscal Year End Date Current Fiscal Year End Date Document Fiscal Period Focus Document Fiscal Period Focus Amendment Flag Amendment Flag CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS Revenue from Contract with Customer, Excluding Assessed Tax Revenues Totals REVENUES Cost of Revenue Cost of revenues Gross Profit Gross profit GROSS PROFIT Selling, General and Administrative Expense Selling, general and administrative expenses Operating Income (Loss) INCOME FROM OPERATIONS Income (loss) from operations Other Nonoperating Income (Expense) Other income (loss), net Other income, net Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest INCOME BEFORE INCOME TAXES Income (loss) before income taxes Income Tax Expense (Benefit) Income tax expense Income tax expense Net income NET INCOME Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Foreign currency translation adjustments OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax Net unrealized losses on available-for-sale securities Comprehensive Income (Loss), Net of Tax, Attributable to Parent COMPREHENSIVE INCOME NET INCOME PER SHARE NET INCOME PER SHARE Earnings Per Share, Basic Basic (in dollars per share) Basic (in dollars per share) Earnings Per Share, Diluted Diluted (in dollars per share) Weighted Average Number of Shares Outstanding, Diluted [Abstract] WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING Weighted Average Number of Shares Outstanding, Basic Basic Weighted average number of shares outstanding - basic Weighted Average Number of Shares Outstanding, Diluted Weighted average number of shares outstanding - diluted Diluted Common Stock, Dividends, Per Share, Declared Regular cash dividend declared per common stock CASH DIVIDENDS PER SHARE CONDENSED CONSOLIDATED BALANCE SHEETS Assets [Abstract] ASSETS Assets, Current [Abstract] CURRENT ASSETS Cash and Cash Equivalents, at Carrying Value Cash and cash equivalents Investments Investments Total investments Accounts Receivable, Net, Current Accounts receivable, net Contract with Customer, Asset, Net, Current Contract assets Other Assets, Current Other current assets Total other current assets Assets, Current Current assets TOTAL CURRENT ASSETS Property, Plant and Equipment, Net Property, plant and equipment, net Goodwill Goodwill Intangible Assets, Net (Excluding Goodwill) Intangible assets, net Deferred Income Tax Assets, Net Deferred taxes, net The amount of lessee's right to use underlying asset under operating lease, and asset classified as other. Operating Lease Right Of Use Asset, and Other Assets Right-of-use and other assets Assets Total assets TOTAL ASSETS Liabilities and Equity [Abstract] LIABILITIES AND STOCKHOLDERS' EQUITY Liabilities, Current [Abstract] CURRENT LIABILITIES Accounts Payable, Current Accounts payable Accrued Liabilities, Current Accrued expenses Total accrued expenses Contract with Customer, Liability, Current Contract liabilities Liabilities, Current Current liabilities TOTAL CURRENT LIABILITIES Liabilities, Noncurrent Noncurrent liabilities Liabilities TOTAL LIABILITIES Commitments and Contingencies COMMITMENTS AND CONTINGENCIES (see Notes 7 and 8) Stockholders' Equity Attributable to Parent [Abstract] STOCKHOLDERS' EQUITY Preferred Stock, Value, Issued Preferred stock, par value $0.10 per share - 500,000 shares authorized; no shares issued and outstanding Common Stock, Value, Issued Common stock, par value $0.15 per share - 30,000,000 shares authorized; 15,828,289 shares issued;13,353,653 and 13,441,590 shares outstanding at July 31, 2023 and January 31, 2023, respectively Additional Paid in Capital, Common Stock Additional paid-in capital Retained Earnings (Accumulated Deficit) Retained earnings Treasury Stock, Value Less treasury stock, at cost - 2,474,636 and 2,386,699 shares at July 31, 2023 and January 31, 2023, respectively Accumulated Other Comprehensive Income (Loss), Net of Tax Accumulated other comprehensive loss Stockholders' Equity Attributable to Parent TOTAL STOCKHOLDERS' EQUITY Liabilities and Equity TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY Preferred Stock, Par or Stated Value Per Share Preferred stock, par value Preferred Stock, Shares Authorized Preferred stock, shares authorized Preferred Stock, Shares Issued Preferred stock, shares issued Preferred Stock, Shares Outstanding Preferred stock, shares outstanding Common Stock, Par or Stated Value Per Share Common stock, par value Common Stock, Shares Authorized Common stock, shares authorized Common Stock, Shares, Issued Common stock, shares issued Common Stock, Shares, Outstanding Common stock, shares outstanding Treasury Stock, Shares Treasury stock, shares CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Equity Components [Axis] Equity Component [Domain] Common Stock [Member] Common Stock Additional Paid-in Capital Retained Earnings Treasury Stock Accumulated Other Comprehensive Loss Non-controlling Interests Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest Balances Balances Shares, Outstanding Balances (in shares) Balances (in shares) Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net income Net income Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss), before Reclassification and Tax Foreign currency translation gain (loss) Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition Stock compensation expense Stock Issued During Period, Value, Stock Options Exercised Stock option exercises and other share-based award settlements Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Shares, Exercised Stock option exercises and other share-based award settlements (in shares) Stock Repurchased During Period, Value Common stock repurchases Common stock repurchased Stock Repurchased During Period, Shares Common stock repurchases (in shares) Common stock repurchases (in shares) Dividends, Common Stock, Cash Cash dividends CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Net Cash Provided by (Used in) Operating Activities [Abstract] CASH FLOWS FROM OPERATING ACTIVITIES Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Adjustments to reconcile net income to net cash used in operating activities Share-based Compensation Stock compensation expense Depreciation Depreciation Operating Lease, Expense Operating lease expense Lease expense Increase (Decrease) in Accrued Interest Receivable, Net Changes in accrued interest on investments Deferred Income Tax Expense (Benefit) Deferred income tax (benefit) expense Amortization of Intangible Assets Amortization of intangibles Amortization of intangible assets Income (Loss) from Equity Method Investments Equity in loss (income) of solar energy investments Loss of investment Other Noncash Income (Expense) Other Increase (Decrease) in Operating Capital [Abstract] Changes in operating assets and liabilities Increase (Decrease) in Accounts Receivable Accounts receivable Increase (Decrease) in Contract with Customer, Asset Contract assets Increase (Decrease) in Other Operating Assets Other assets Increase (Decrease) in Accounts Payable and Accrued Liabilities Accounts payable and accrued expenses Increase (Decrease) in Contract with Customer, Liability Contract liabilities Net Cash Provided by (Used in) Operating Activities Net cash provided by (used in) operating activities Net Cash Provided by (Used in) Investing Activities [Abstract] CASH FLOWS FROM INVESTING ACTIVITIES Payments to Acquire Held-to-maturity Securities Purchases of short-term investments Proceeds from Sale of Held-to-maturity Securities Maturities of short-term investments Payments to Acquire Debt Securities, Available-for-Sale Purchases of available-for-sale securities Payments to Acquire Property, Plant, and Equipment Purchases of property, plant and equipment Net Cash Provided by (Used in) Investing Activities Net cash provided by (used in) investing activities Net Cash Provided by (Used in) Financing Activities [Abstract] CASH FLOWS FROM FINANCING ACTIVITIES Payments for Repurchase of Common Stock Common stock repurchases Payments of Ordinary Dividends, Common Stock Payments of cash dividends Proceeds from Stock Options Exercised Proceeds from the exercise of stock options Net Cash Provided by (Used in) Financing Activities Net cash used in financing activities Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents EFFECTS OF EXCHANGE RATE CHANGES ON CASH Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents CASH AND CASH EQUIVALENTS, END OF PERIOD CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION REVENUES FROM CONTRACTS WITH CUSTOMERS Revenue from Contract with Customer [Text Block] REVENUES FROM CONTRACTS WITH CUSTOMERS CASH, CASH EQUIVALENTS AND INVESTMENTS Cash, Cash Equivalents, and Short-term Investments [Text Block] CASH, CASH EQUIVALENTS AND INVESTMENTS ACCOUNTS RECEIVABLE The disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include trade accounts receivables. Includes disclosure for allowance for credit losses. Trade And Other Receivables Disclosure Text Block ACCOUNTS RECEIVABLE INTANGIBLE ASSETS Intangible Assets Disclosure [Text Block] INTANGIBLE ASSETS FINANCING ARRANGEMENTS Debt Disclosure [Text Block] FINANCING ARRANGEMENTS No definition available. COMMITMENTS Commitments Disclosure [Text Block] COMMITMENTS LEGAL CONTINGENCIES Legal Matters and Contingencies [Text Block] LEGAL CONTINGENCIES STOCK-BASED COMPENSATION Disclosure of Compensation Related Costs, Share-based Payments [Text Block] STOCK-BASED COMPENSATION INCOME TAXES Income Tax Disclosure [Text Block] INCOME TAXES Earnings Per Share [Text Block] NET INCOME PER SHARE No definition available. CASH DIVIDENDS AND TREASURY STOCK The entire disclosure for cash dividend and treasury stock. Cash Dividend and Treasury Stock [Text Block] CASH DIVIDENDS AND TREASURY STOCK CUSTOMER CONCENTRATIONS Concentration Risk Disclosure [Text Block] CUSTOMER CONCENTRATIONS SEGMENT REPORTING Segment Reporting Disclosure [Text Block] SEGMENT REPORTING Na SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION Additional Financial Information Disclosure [Text Block] SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION Consolidation, Policy [Policy Text Block] Description of the Business Basis of Accounting, Policy [Policy Text Block] Basis of Presentation and Significant Accounting Policies New Accounting Pronouncements, Policy [Policy Text Block] Recently Issued Accounting Pronouncements Disclosure of accounting policy for available-for-sale securities. Available-For-Sale Securities [Policy Text Block] Available-For-Sale Securities Fair Value Measurement, Policy [Policy Text Block] Fair Values Disclosure of accounting policy for treasury stock. Treasury Stock [Policy Text Block] Treasury Stock Fair Value, Assets Measured on Recurring Basis [Table Text Block] Schedule of financial instruments recorded at fair value on a recurring basis Disaggregation of Revenue [Table Text Block] Schedule of consolidated revenues disaggregated by geographical area Investment [Table Text Block] Investments Schedule of Available-for-Sale Securities Reconciliation [Table Text Block] Schedule of available-for-sale securities Tabular disclosure of amortizable finite-lived intangible assets, in total and by major class, including the gross carrying amount and accumulated amortization, and indefinite-lived intangible assets not subject to amortization, excluding goodwill, in total and by major class. 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. Schedule Of Finite-Lived and Indefinite-Lived Intangible Assets by Major Class [Table Text Block] Schedule of company's purchased intangible assets, other than goodwill Lessee, Operating Lease, Liability, Maturity [Table Text Block] Schedule of future minimum lease payments for the operating leases Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block] Schedule of stock option activity under the Company's stock plans Schedule of Nonvested Share Activity [Table Text Block] Schedule of changes in the number of non-vested options to purchase shares of common stock Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block] Schedule of changes in restricted stock units Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Schedule of actual income tax expense amounts Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Schedule of computations of basic and diluted net income per share Schedule of Segment Reporting Information, by Segment [Table Text Block] Schedule of operating results and certain financial position data of the Company's reportable business segments Schedule of Other Current Assets [Table Text Block] Schedule of other current assets Schedule of Accrued Liabilities [Table Text Block] Schedule of accrued expenses Fair Value, Recurring and Nonrecurring [Table] Measurement Frequency [Axis] Measurement Frequency [Domain] Fair value, recurring Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Domain] Level 1 Inputs Level 2 Inputs Financial Instrument [Axis] Financial Instruments [Domain] Money market funds Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair value of assets and liabilities measured on recurring and nonrecurring basis Cash and Cash Equivalents, Fair Value Disclosure Cash and cash equivalents Debt Securities, Available-for-Sale Available-for-sale-securities Fair Value Assets, Fair Value Disclosure Totals Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] REVENUES FROM CONTRACTS WITH CUSTOMERS Contract with Customer, Liability, Revenue Recognized Revenue recognized The amounts retained by project owners under construction contracts. Retained Amount Under Construction Contracts Retained amounts by project owners Amounts of unpriced change orders included in transaction prices. N Priced Change Orders Included In Transaction Prices Amounts of unpriced change orders included in transaction prices Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation Contract backlog amount Revenue, Remaining Performance Obligation, Percentage Contract backlog (as percent) Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Performance period Disaggregation of Revenues [Table] Geographical [Axis] Geographical [Domain] United States Republic of Ireland United Kingdom Disaggregation of Revenue [Line Items] Disaggregation of Revenues Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Debt Security Category [Axis] Other than Temporary Impairment, Credit Losses Recognized in Earnings, Categories of Investments [Domain] Held-to-maturity Securities Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents Represents the maturity period of investments. Investment Maturity Period Maturity period Weighted average interest rate for certificates of deposit liabilities in banking offices. Weighted Average Rate Deposit Certificates Of Deposit Weighted average annual interest rates of CDs (as a percent) Dividends earned but not yet received by the entity on its investments. Accrued Investment Income, Dividend Receivable Accrued dividends Interest Receivable Accrued interest Range [Axis] Range [Domain] Minimum Minimum Maximum Maximum US Treasury Notes Securities [Member] US Treasury notes Debt Securities, Available-for-Sale, Term Available-for-sale securities term Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current Interest receivable Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current, Statement of Financial Position [Extensible Enumeration] OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment and Tax Net unrealized holding losses for the Company's AFS securities Proceeds from Sale of Debt Securities, Available-for-Sale Proceeds from sale of debt securities, available-for-sale Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax Amounts of gains or losses reclassified out of other comprehensive income en-US Debt Securities, Available-for-Sale, Fair Value to Amortized Cost, after Allowance for Credit Loss [Abstract] Available-for-sale securities Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to 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). Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One to Two Amortized cost, Due in one to two years Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second fiscal year though 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). Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year Two to Three Amortized Cost, Due in two to three years Debt Securities, Available-for-Sale, Amortized Cost Amortized Cost Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) maturing in first and second fiscal year following current fiscal year. Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after Year One Through Two Gross Unrealized Losses, Due in one to two years Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) maturing in second and third fiscal year following current fiscal year. Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after Year Two Through Three Gross Unrealized Losses, Due in two to three years Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax Gross Unrealized Losses Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to 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). Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One to Two Fair value, Due in one to two years Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second fiscal year through 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). Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year Two to Three Fair Value, Due in two to three years Short-Term Investments Short-term investments Schedule of Accounts, Notes, Loans and Financing Receivable [Table] Schedule of Accounts, Notes, Loans and Financing Receivable [Table] Accounts, Notes, Loans and Financing Receivable [Line Items] ACCOUNTS AND NOTES RECEIVABLE Financing Receivable, Allowance for Credit Loss, Current Allowance for uncollectible accounts Schedule of Finite-Lived Intangible Assets [Table] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Trade Name Customer relationships Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets Finite-Lived Intangible Asset, Useful Life Estimated Useful Life (in years) Finite-Lived Intangible Assets, Gross Gross Amounts Finite-Lived Intangible Assets, Accumulated Amortization Accumulated Amortization Finite-Lived Intangible Assets, Net Net Amounts Business Acquisition [Axis] Business Acquisition, Acquiree [Domain] The Roberts Company Inc. TRC. The Gemma Power System, LLC. GPS. Intangible Assets, Net (Including Goodwill) [Abstract] Indefinite-Lived Intangible Assets Line of Credit Facility [Table] Credit Facility [Axis] Credit Facility [Domain] Line of Credit [Member] Revolving Credit Facility Letter of Credit Scenario [Axis] Scenario, Unspecified [Domain] Represents information pertaining to letters of credit expire on May 31, 2024. Expires on May 31, 2024 Variable Rate [Axis] Variable Rate [Domain] Secured Overnight Financing Rate (SOFR) Line of Credit Facility [Line Items] Financing Arrangements Line of Credit Facility, Maximum Borrowing Capacity Borrowing available under financing arrangements Debt Instrument, Basis Spread on Variable Rate Interest rate margin on referred rate Interest rate margin on referred rate The contingent increase above the maximum borrowing capacity under the credit facility, if any one or more of the existing banks or new banks agree to provide such increased commitment amount. Line of Credit Facility Contingent Increase, Additional Borrowing Capacity Additional commitment amount Letters of Credit Outstanding, Amount Letters of credit outstanding amount Gemma power systems. GPS Guarantor Obligations, Nature [Axis] Guarantor Obligations, Nature [Domain] Financial guarantee Lessee, Operating Lease, Existence of Option to Extend [true false] Operating leases, options to extend Lessee, Operating Lease, Existence of Option to Terminate [true false] Operating leases, options to terminate Operating lease, right-of-use assets Operating Lease, Payments Operating lease payments Operating Lease, Weighted Average Remaining Lease Term Weighted average lease term Operating Lease, Weighted Average Discount Rate, Percent Weighted average discount rate Operating Lease, Cost Future minimum lease payment The amount short-term rental agreements expenses. Short Term Rental Agreements Expense Short-term rentals expense Represents information pertaining to remaining bonded performance obligations. Remaining Bonded Performance Obligations Unsatisfied bonded performance obligations Guarantor Obligations, Maximum Exposure, Undiscounted Guarantor obligation maximum exposure Operating Lease Liabilities, Payments Due [Abstract] Operating Leases Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year 2024 (remainder) Operating Leases, Future Minimum Payments Due, Next Twelve Months 2025 Lessee, Operating Lease, Liability, Payments, Due Year Two 2026 Lessee, Operating Lease, Liability, Payments, Due Year Three 2027 Lessee, Operating Lease, Liability, Payments, Due Year Four 2028 Amount of lessee's undiscounted obligation for lease payment for operating lease due after 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). Lessee, Operating Lease, Liability, to be Paid, after Year Four Thereafter Lessee, Operating Lease, Liability, Payments, Due Total lease payments Lessee, Operating Lease, Liability, Undiscounted Excess Amount Less imputed interest Operating Lease, Liability Present value of lease payments Operating Lease, Liability, Current Less current portion (included in accrued expenses) Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Less current portion (included in accrued expenses) Operating Lease, Liability, Noncurrent Non-current portion (included in noncurrent liabilities) Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List] Non-current portion (included in noncurrent liabilities) Represents the information pertaining to warranty provisions covering defects in equipment, materials etc.. after the completion of construction. Warranty Period for Construction Contracts Warranty period Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number Shares, Outstanding, Ending balance Shares, Outstanding, Beginning balance Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross Shares, Granted Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period Shares, Forfeited Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number Shares, Exercisable Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Outstanding, Ending balance Weighted Average Exercise Price Per Share, Outstanding, Beginning balance Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Granted Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Exercised Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Forfeited Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Exercisable Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Weighted Average Remaining Term (Years), Outstanding Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Weighted Average Remaining Term (Years), Exercisable Share based compensation arrangement by share based payment award equity instruments stock option outstanding weighted average grant date fair value. Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Outstanding Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Outstanding Share based compensation arrangement by share based payment award equity instruments stock option exercisable weighted average grant date fair value. Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Exercisable Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Exercisable Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Number of Shares Shares, Non-vested, Ending balance Shares, Non-vested, Beginning balance Shares, Non-vested Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares Shares, Vested Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Number of Shares Shares, Forfeitures Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Non-vested, Ending balance Weighted Average Grant Date Fair Value Per Share, Non-vested, Beginning balance Weighted Average Grant Date Fair Value Per Share, Non-vested Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Granted Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Vested Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Forfeitures Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Restricted Stock Units Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-based Compensation Arrangement by Share-based Payment Award Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Shares Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number Outstanding, Ending balance (in shares) Outstanding, Beginning balance (in shares) Outstanding (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period Awarded (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period Issued (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period Forfeited (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Weighted Average Grant Date Fair Value Per Share Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Outstanding, Ending balance Fair value (Per share) Outstanding, Beginning balance Fair value (Per share) Outstanding, Fair value (per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Awarded, Fair value (Per share) The weighted average fair value at grant date of equity instruments other than options issued during the period. Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Issued in Period, Weighted Average Grant Date Fair Value Issued, Fair value (Per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Forfeited (Per share) Title of Individual [Axis] Title of Individual [Domain] Senior executives Represents information pertaining to performance-based restricted stock units. Performance-based restricted stock units Represents information pertaining to earnings per share performance-based restricted stock units. Earnings Per Share Performance Based Restricted Stock Units [Member] Earnings per share performance-based restricted stock units Represents Incentive Stock Options. ISOs/NSOs Represents the information pertaining to Renewable Performance Based Restricted Stock Units. Renewable Performance-Based Restricted Stock Units Represents the information pertaining to Time based Restricted Stock Units. Time Based Restricted Stock Units Plan Name [Axis] Plan Name [Domain] n/a Stock Plan [Member] Stock Plan Represents information pertaining to the 2020 plan. 2020 Plan Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period Incentive stock option award maximum expiration period Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage Initial vesting percentage Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period Period to become exercisable Common stock allocated for issuance Number of shares of common stock reserved for issuance Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Number of shares of common stock available for award Represents the number of shares issuable under restricted stock units awarded during the period. The Number Of Shares Issuable Under Restricted Stock Units Awarded During The Period The number of shares issuable under restricted stock units awarded during the period Common Stock Dividends, Shares Cash dividends deemed paid on shares Represents the percentage reduction in the aggregate fair value of stock option Percentage Reduction In The Aggregate Fair Value Of Stock Option Represents the percentage of the maximum shares for the target number of shares awarded. Percentage Of Maximum shares For The Target Number Of Shares Awarded Percentage of the maximum shares for the target number of shares awarded Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized Unrecognized compensation cost Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition Compensation expense recognize, period Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value Intrinsic value of the stock options exercised Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Intrinsic value of outstanding stock options Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value Intrinsic value of exercisable stock options The period of monthly closing prices used for the estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period. Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate Period For Monthly Closing Prices Period used for calculations Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Federal corporate income tax rate (as percent) Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount Computed expected income tax expense Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount State income taxes, net of federal tax effect The amount of unrecognized tax loss benefit. Unrecognized tax loss benefit Unrecognized tax loss benefit Effective Income Tax Rate Reconciliation, GILTI, Amount GILTI Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for excess executive compensation. Effective Income Tax Rate Reconciliation, Nondeductible Expense, Excess Executive Compensation, Amount Excess executive compensation Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount Foreign tax rate differential Amount of tax credits. Tax credits Tax credits Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Amount Research and development credits adjustment Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount Other permanent differences and adjustments, net Current Foreign Tax Expense (Benefit) Foreign income tax expense Operating Loss Carryforwards [Table] Operating Loss Carryforwards [Line Items] Represents the increase in loss carryback period for certain losses. Increase In Loss Carryback Period For Certain Losses Increase in loss carryback period for certain losses Amount of domestic net operating loss carryback. Domestic Net Operating Loss Carryback Domestic net operating loss carryback Deferred Income Taxes and Other Tax Receivable, Current Income tax receivable Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount Federal research and development tax credits Amount of increase in unrecognized tax benefits resulting from research and development tax credit. UnrecognizedTaxBenefitsIncreaseResultingFromResearchAndDevelopmentTaxCredit Development tax credit Amount of income tax refunds and prepaid income taxes . Income Tax Refunds And Prepaid Income Taxes Income tax refunds and prepaid income taxes Income tax refunds receivable and prepaid income taxes Investment Income [Table] Income Statement Location [Axis] Income Statement Location [Domain] Other income (expense) Net Investment Income [Line Items] Equity Method Investments Investment account balances Amount of cash investment commitments. Cash Investment Commitments Remaining cash investment commitments Term of investment, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Investments, Term Expected life of investment Income Taxes Paid, Net Cash paid for income taxes Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table] Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items] NET INCOME (LOSS) PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN, INC. Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements Effects of stock awards Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Anti-dilutive common stock equivalents Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Antidilutive common stock Share Price Share price Common Stock, Dividends, Per Share, Cash Paid Regular cash dividend paid per common stock Number of repurchased shares used to settle stock option exercises and other stock share based awards. Shares Repurchased, Settlement Stock Option Exercises and Other Stock Share Based Awards Repurchased shares to settle stock option exercises and other share-based awards Number of treasury stock used to settle stock option exercises and other stock share based awards. Treasury Stock, Settlement of Stock Option Exercises and Other Share Based Awards Treasury stock to settle stock option exercises and other share-based awards Concentration Risk [Table] Products and Services [Axis] Products and Services [Domain] Power industry services. Power Industry Services [Member] Represents information pertaining to industrial construction services. Industrial Construction Services [Member] Industrial Construction Services Concentration Risk Type [Axis] Concentration Risk Type [Domain] Product Concentration Risk [Member] Customer Concentration Risk [Member] Customer [Axis] Customer [Domain] Major customer one. Major Customer One [Member] Major customer two. Major Customer Two [Member] Major customer three. Major Customer Three [Member] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Revenue [Member] Accounts Receivable [Member] Contract Asset Concentration Risk [Line Items] Customer Concentrations Concentration Risk, Percentage Percentage of major customers or segments Number of major customers. Number Of Major Customers Number of customers Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Segments [Axis] Segments [Domain] Telecommunications infrastructure services. Telecommunications Infrastructure Services [Member] Consolidation Items [Axis] Consolidation Items [Domain] Operating Segments [Member] Operating Segments Other [Member] Segment Reporting Information [Line Items] Segment Reporting Information Number of Operating Segments Operating segment Property, Plant and Equipment, Additions Property, plant and equipment additions Inventory, Raw Materials, Gross Raw materials inventory Prepaid Expense, Current Prepaid expenses Other Assets, Miscellaneous, Current Other Accrued Employee Benefits, Current Accrued compensation Carrying value as of the balance sheet date of obligations incurred through that date and payable for projects costs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). Accrued Project Costs, Current Accrued project costs Carrying value as of the balance sheet date of obligations incurred through that date and payable for lease liabilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). Accrued Lease Liabilities, Current Lease liabilities Other Accrued Liabilities, Current Other Unusual or Infrequent Item, or Both [Table] Unusual or Infrequent Item, or Both [Axis] Unusual or Infrequent Item, or Both [Domain] Represents information relating to fraudulently induced outbound wire transfer to third party of complex criminal scheme. Fraudulently Induced Payment Unusual or Infrequent Item, or Both [Line Items] SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION Amount of loss for an event or transaction that is unusual in nature or infrequent in occurrence, or both. Unusual Or Infrequent Item, Unrecoverable Funds Amount Unrecoverable funds amount Professional Fees Professional fees Unusual or Infrequent Item, or Both, Insurance Proceeds Recovered professional fess Unusual or Infrequent Item, or Both, Net (Gain) Loss Total amount of fraud loss and professional fee recovered EX-101.PRE 11 agx-20230731_pre.xml EX-101.PRE XML 12 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Document and Entity Information - shares
6 Months Ended
Jul. 31, 2023
Sep. 01, 2023
Document And Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jul. 31, 2023  
Document Transition Report false  
Entity File Number 001-31756  
Entity Registrant Name ARGAN INC  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 13-1947195  
Entity Address, Address Line One One Church Street, Suite 201  
Entity Address, City or Town Rockville  
Entity Address, State or Province MD  
Entity Address, Postal Zip Code 20850  
City Area Code 301  
Local Phone Number 315-0027  
Title of 12(b) Security Common Stock, $0.15 par value  
Trading Symbol AGX  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   13,318,653
Entity Central Index Key 0000100591  
Document Fiscal Year Focus 2024  
Current Fiscal Year End Date --01-31  
Document Fiscal Period Focus Q2  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS        
REVENUES $ 141,349 $ 118,110 $ 245,024 $ 218,387
Cost of revenues 117,607 93,723 207,058 174,262
GROSS PROFIT 23,742 24,387 37,966 44,125
Selling, general and administrative expenses 10,501 10,984 21,092 21,559
INCOME FROM OPERATIONS 13,241 13,403 16,874 22,566
Other income, net 4,118 505 3,489 1,100
INCOME BEFORE INCOME TAXES 17,359 13,908 20,363 23,666
Income tax expense 4,592 9,686 5,487 11,959
NET INCOME 12,767 4,222 14,876 11,707
Foreign currency translation adjustments (185) (687) 255 (1,951)
Net unrealized losses on available-for-sale securities (683)   (720)  
COMPREHENSIVE INCOME $ 11,899 $ 3,535 $ 14,411 $ 9,756
NET INCOME PER SHARE        
Basic (in dollars per share) $ 0.95 $ 0.30 $ 1.11 $ 0.81
Diluted (in dollars per share) $ 0.94 $ 0.30 $ 1.10 $ 0.80
WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING        
Basic 13,403 14,134 13,408 14,516
Diluted 13,542 14,247 13,544 14,616
CASH DIVIDENDS PER SHARE $ 0.25 $ 0.25 $ 0.50 $ 0.50
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jul. 31, 2023
Jan. 31, 2023
CURRENT ASSETS    
Cash and cash equivalents $ 204,799 $ 173,947
Investments 141,616 151,511
Accounts receivable, net 44,532 50,132
Contract assets 20,747 24,778
Other current assets 43,438 38,334
TOTAL CURRENT ASSETS 455,132 438,702
Property, plant and equipment, net 10,457 10,430
Goodwill 28,033 28,033
Intangible assets, net 2,413 2,609
Deferred taxes, net 3,910 3,689
Right-of-use and other assets 5,763 6,024
TOTAL ASSETS 505,708 489,487
CURRENT LIABILITIES    
Accounts payable 31,530 56,375
Accrued expenses 67,620 49,867
Contract liabilities 116,456 96,261
TOTAL CURRENT LIABILITIES 215,606 202,503
Noncurrent liabilities 5,066 6,087
TOTAL LIABILITIES 220,672 208,590
COMMITMENTS AND CONTINGENCIES (see Notes 7 and 8)
STOCKHOLDERS' EQUITY    
Preferred stock, par value $0.10 per share - 500,000 shares authorized; no shares issued and outstanding
Common stock, par value $0.15 per share - 30,000,000 shares authorized; 15,828,289 shares issued;13,353,653 and 13,441,590 shares outstanding at July 31, 2023 and January 31, 2023, respectively 2,374 2,374
Additional paid-in capital 162,323 162,208
Retained earnings 216,009 207,832
Less treasury stock, at cost - 2,474,636 and 2,386,699 shares at July 31, 2023 and January 31, 2023, respectively (92,329) (88,641)
Accumulated other comprehensive loss (3,341) (2,876)
TOTAL STOCKHOLDERS' EQUITY 285,036 280,897
TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY $ 505,708 $ 489,487
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares
Jul. 31, 2023
Jan. 31, 2023
CONDENSED CONSOLIDATED BALANCE SHEETS    
Preferred stock, par value $ 0.10 $ 0.10
Preferred stock, shares authorized 500,000 500,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value $ 0.15 $ 0.15
Common stock, shares authorized 30,000,000 30,000,000
Common stock, shares issued 15,828,289 15,828,289
Common stock, shares outstanding 13,353,653 13,441,590
Treasury stock, shares 2,474,636 2,386,699
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Additional Paid-in Capital
Retained Earnings
Treasury Stock
Accumulated Other Comprehensive Loss
Non-controlling Interests
Total
Balances at Jan. 31, 2022 $ 2,368 $ 158,190 $ 188,690 $ (20,405) $ (2,451) $ (797) $ 325,595
Balances (in shares) at Jan. 31, 2022 15,257,688            
Net income     11,707       11,707
Foreign currency translation gain (loss)         (1,951)   (1,951)
Stock compensation expense   1,979         1,979
Stock option exercises and other share-based award settlements $ 6 60         66
Stock option exercises and other share-based award settlements (in shares) 39,099            
Common stock repurchases       (53,168)     $ (53,168)
Common stock repurchases (in shares) (1,412,592)           (1,412,592)
Cash dividends     (7,192)       $ (7,192)
Balances at Jul. 31, 2022 $ 2,374 160,229 193,205 (73,573) (4,402) (797) 277,036
Balances (in shares) at Jul. 31, 2022 13,884,195            
Balances at Apr. 30, 2022 $ 2,374 159,170 192,463 (47,482) (3,715) (797) 302,013
Balances (in shares) at Apr. 30, 2022 14,585,908            
Net income     4,222       4,222
Foreign currency translation gain (loss)         (687)   (687)
Stock compensation expense   1,059         1,059
Common stock repurchases       (26,091)     (26,091)
Common stock repurchases (in shares) (701,713)            
Cash dividends     (3,480)       (3,480)
Balances at Jul. 31, 2022 $ 2,374 160,229 193,205 (73,573) (4,402) $ (797) 277,036
Balances (in shares) at Jul. 31, 2022 13,884,195            
Balances at Jan. 31, 2023 $ 2,374 162,208 207,832 (88,641) (2,876)   280,897
Balances (in shares) at Jan. 31, 2023 13,441,590            
Net income     14,876       14,876
Foreign currency translation gain (loss)         255   255
Net unrealized losses on available-for-sale securities         (720)   (720)
Stock compensation expense   2,218         2,218
Stock option exercises and other share-based award settlements   (2,103)   3,050     $ 947
Stock option exercises and other share-based award settlements (in shares) 81,851           45,000
Common stock repurchases       (6,738)     $ (6,738)
Common stock repurchases (in shares) (169,788)           (169,788)
Cash dividends     (6,699)       $ (6,699)
Balances at Jul. 31, 2023 $ 2,374 162,323 216,009 (92,329) (3,341)   285,036
Balances (in shares) at Jul. 31, 2023 13,353,653            
Balances at Apr. 30, 2023 $ 2,374 161,347 206,584 (89,883) (2,473)   277,949
Balances (in shares) at Apr. 30, 2023 13,414,404            
Net income     12,767       12,767
Foreign currency translation gain (loss)         (185)   (185)
Net unrealized losses on available-for-sale securities         (683)   (683)
Stock compensation expense   1,184         1,184
Stock option exercises and other share-based award settlements   (208)   611     403
Stock option exercises and other share-based award settlements (in shares) 16,381            
Common stock repurchases       (3,057)     (3,057)
Common stock repurchases (in shares) (77,132)            
Cash dividends     (3,342)       (3,342)
Balances at Jul. 31, 2023 $ 2,374 $ 162,323 $ 216,009 $ (92,329) $ (3,341)   $ 285,036
Balances (in shares) at Jul. 31, 2023 13,353,653            
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
CASH FLOWS FROM OPERATING ACTIVITIES        
Net income $ 12,767 $ 4,222 $ 14,876 $ 11,707
Adjustments to reconcile net income to net cash used in operating activities        
Stock compensation expense 1,200 1,100 2,218 1,979
Depreciation 488 747 1,035 1,556
Lease expense 400 500 884 1,319
Changes in accrued interest on investments     (341) (617)
Deferred income tax (benefit) expense     (196) 373
Amortization of intangible assets 98 233 196 399
Equity in loss (income) of solar energy investments     98 (1,070)
Other     64 8
Changes in operating assets and liabilities        
Accounts receivable     5,600 2,090
Contract assets     4,031 (3,774)
Other assets     (5,176) 9,252
Accounts payable and accrued expenses     (8,931) (16,124)
Contract liabilities     20,195 (63,874)
Net cash provided by (used in) operating activities     34,553 (56,776)
CASH FLOWS FROM INVESTING ACTIVITIES        
Purchases of short-term investments     (90,000) (175,000)
Maturities of short-term investments     159,750 90,000
Purchases of available-for-sale securities     (60,261)  
Purchases of property, plant and equipment     (1,031) (638)
Net cash provided by (used in) investing activities     8,458 (85,638)
CASH FLOWS FROM FINANCING ACTIVITIES        
Common stock repurchases     (6,738) (53,168)
Payments of cash dividends     (6,699) (7,192)
Proceeds from the exercise of stock options     947 66
Net cash used in financing activities     (12,490) (60,294)
EFFECTS OF EXCHANGE RATE CHANGES ON CASH     331 (4,420)
NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS     30,852 (207,128)
CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD     173,947 350,472
CASH AND CASH EQUIVALENTS, END OF PERIOD $ 204,799 $ 143,344 $ 204,799 $ 143,344
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.23.2
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION
6 Months Ended
Jul. 31, 2023
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION  
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION

NOTE 1 – DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION

Description of the Business

Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.”

Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The wide range of customers includes primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with customer projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.

Basis of Presentation and Significant Accounting Policies

The condensed consolidated financial statements include the accounts of Argan, its wholly-owned subsidiaries and a variable interest entity (“VIE”) prior to its deconsolidation in the fourth quarter of the year ended January 31, 2023. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 14, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions.

The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2023, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended July 31, 2023 and 2022 are unaudited. The condensed consolidated balance sheet as of January 31, 2023 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (“Fiscal 2023”).

In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2023, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.

Recently Issued Accounting Pronouncements

In March 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-02, Investments—Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method (“ASU 2023-02”), which provides an election to account for tax equity investments using the proportional amortization method, if certain conditions are met. Under the proportional amortization method, the initial cost of an investment is amortized in proportion to the amount of the tax credits and other tax benefits received and presented net as a component of income tax expense. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within those fiscal years. The Company’s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method under this guidance.

There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.

Available-For-Sale Securities

At each balance sheet date, available-for-sale (“AFS”) securities are recorded at fair value, with unrealized gains and losses, net of income taxes, reported as a component of accumulated other comprehensive loss. Interest income, accretion of discounts, amortization of premiums, realized gains and losses are included in other income or expense, as applicable, in the Company’s condensed consolidated statement of earnings. The Company determines the cost of securities sold based on the specific identification method. The Company determines the appropriate classification of AFS securities based on whether they represent the investment of cash available for current operations, as defined in Accounting Standards Codification (“ASC”) 210-10-45-1 and ASC 210-10-45-2. The classification of the AFS securities is reevaluated at each balance sheet date.

The Company evaluates whether a decline in the fair value of AFS securities below amortized cost basis is credit-related or due to other factors. If the Company intends to sell the AFS security or it is more likely than not the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security’s amortized cost basis. If a portion of the unrealized loss is credit-related, the impairment is recorded as an allowance on the balance sheet with a corresponding adjustment to earnings. Credit recovery is recorded as an adjustment to the allowance and earnings in the period in which credit conditions improve.

Fair Values

ASC Topic 820, Fair Value Measurement, establishes a fair value hierarchy that requires an entity to maximize the use of observable inputs and to minimize the use of unobservable inputs when measuring fair value. Fair value is the price that would be received to sell an asset or paid to transfer a liability in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The fair value hierarchy prioritizes the inputs into three levels that may be used to measure fair value:

Level 1 – Inputs are unadjusted quoted prices in active markets for identical assets or liabilities.

Level 2 – Inputs are quoted prices for similar assets or liabilities in active markets; or quoted prices for identical or similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.

Level 3 – Inputs are unobservable inputs based on a company’s own assumptions.

At July 31, 2023 and January 31, 2023, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments. The money market fund was classified as Level 1 due to the short-term nature of these instruments and as their fair value is based on quoted prices in active markets for identical assets. As of July 31, 2023, all of the Company’s available-for-sale securities were U.S. Treasury notes and were classified as Level 2, as their fair value is measured based on quoted prices in active markets for similar assets.  As of July 31, 2023 and January 31, 2023, the Company did not have any financial assets measured on a recurring basis using Level 3 inputs. The carrying value amounts presented in the condensed consolidated balance sheets for the Company’s other current assets, including cash, certificates of deposit (“CDs”), accounts receivable and contract assets, and its current liabilities are reasonable estimates of their fair values due to the short-term nature of these items.

The following table shows the Company’s financial instruments as of July 31, 2023 and January 31, 2023 that are measured and recorded at fair value on a recurring basis:

July 31, 2023

January 31, 2023

Level 1

Level 2

Level 3

Level 1

Level 2

Level 3

    

Inputs

    

Inputs

Inputs

    

Inputs

Inputs

    

Inputs

Money market fund

$

127,064

$

$

$

68,647

$

$

Available-for-sale securities

59,992

Totals

$

127,064

$

59,992

$

$

68,647

$

$

Treasury Stock

Treasury stock is recorded using the cost method. Incremental direct costs to purchase treasury stock, including excise tax, are included in the cost of the shares acquired. The Company uses the average cost method to account for treasury stock. For treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For treasury stock provided for settlements or sold at a price lower than its cost, the loss is recorded to additional paid-in capital to the extent there are previous net gains included in additional paid-in capital. Any losses in excess of that amount are recorded to retained earnings.

XML 19 R8.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUES FROM CONTRACTS WITH CUSTOMERS
6 Months Ended
Jul. 31, 2023
REVENUES FROM CONTRACTS WITH CUSTOMERS  
REVENUES FROM CONTRACTS WITH CUSTOMERS

NOTE 2 – REVENUES FROM CONTRACTS WITH CUSTOMERS

The Company’s accounting for revenues on contracts with customers is based on a single comprehensive five-step model that requires reporting entities to:

1.Identify the contract,
2.Identify the performance obligations of the contract,
3.Determine the transaction price of the contract,
4.Allocate the transaction price to the performance obligations, and
5.Recognize revenue.

The Company focuses on the transfer of the contractor’s control of the goods and/or services to the customer. When a performance obligation is satisfied over time, the related revenues are recognized over time. The Company’s revenues are recognized primarily under various types of long-term construction contracts, including those for which revenues are based on either a fixed-price or a time-and-materials basis, and primarily over time as performance obligations are satisfied due to the continuous transfer of control to the project owner or other customer.

Revenues from fixed-price contracts, including portions of estimated gross profit, are recognized as services are provided, based on costs incurred and estimated total contract costs using the cost-to-cost approach. If, at any time, the estimate of contract profitability indicates an anticipated loss on a contract, the Company will recognize the total loss in the reporting period in which it is identified and the loss amount becomes estimable. Revenues from time-and-materials contracts are recognized when the related services are provided to the customer.

Predominantly all of the Company’s fixed-price contracts are considered to have a single performance obligation. Although multiple promises to transfer individual goods or services may exist, they are not typically distinct within the context of such contracts because contract promises included therein are interrelated or the contracts require the Company to perform critical integration so that the customer receives a completed project. Warranties provided under the Company’s contracts with customers are assurance-type primarily and are recorded as the corresponding contract work is performed.

The transaction price for a customer contract represents the value of the contract awarded to the Company that is used to determine the amount of revenues recognized as of the balance sheet date. It may reflect amounts of variable consideration which could be either increases or decreases to the transaction price. These adjustments can be made from time-to-time during the period of contract performance as circumstances evolve related to such items as changes in the scope and price of contracts, claims, incentives and liquidated damages.

The Company’s timing of revenue recognition may not be consistent with its rights to bill and collect cash from project owners and other customers. Most contracts require payments as the corresponding work progresses that are determined in the manner described therein. Those rights are generally dependent upon advance billing terms, milestone billings based

on the completion of certain phases of work or when services are performed. On most of the Company’s large contracts, milestone billings that occur early in the corresponding contract terms typically are made in advance of certain significant and related costs being incurred. This results in typically larger contract liability balances early in contract lives that decline over the terms of the corresponding contracts. During the six months ended July 31, 2023 and 2022, there were no unusual or one-time adjustments to contract liabilities.

The balances of the Company’s accounts receivable represent amounts billed to customers that have yet to be collected and represent an unconditional right to receive cash from its customers. Contract assets include amounts that represent the rights to receive payment for goods or services that have been transferred to the customer, with the rights conditional upon something other than the passage of time. Contract liabilities include amounts that reflect obligations to provide goods or services for which payment has been received. The amounts of revenues recognized during the six months ended July 31, 2023 and 2022, that were included in the balances of contract liabilities as of January 31, 2023 and 2022, respectively, were approximately $87.0 million and $127.6 million, respectively. The amounts of revenues recognized during the three months ended July 31, 2023 and 2022 that were included in the balances of contract liabilities as of April 30, 2023 and 2022, respectively, were approximately $64.7 million and $83.2 million, respectively.

Contract retentions are billed amounts which, pursuant to the terms of the applicable contract, are not paid by customers until a defined phase of a contract or project has been completed and accepted. These retained amounts are reflected in contract assets or contract liabilities depending on the net contract position of the particular contract. Retention amounts and the length of retention periods may vary. Retainage amounts related to active contracts are considered current regardless of the term of the applicable contract; such amounts are generally collected by the completion of the applicable contract. The amounts retained by project owners and other customers under construction contracts at July 31, 2023 and January 31, 2023 were $28.1 million and $49.1 million, respectively.

Variable Consideration

Amounts for unapproved change orders for which the Company has project-owner directive for additional work or other scope change, but not for the price associated with the corresponding additional effort, are included in the transaction price when it is considered probable that the applicable costs will be recovered through a modification to the contract price. The effects of any revision to a transaction price can be determined at any time and they could be material. The Company also includes in the corresponding transaction price an estimate of the amount that it expects to receive from a claim based on management’s judgment regarding all reasonably available information. Once a final amount has been determined, the transaction price may be revised again to reflect the final resolution. At July 31, 2023 and January 31, 2023, the aggregate amounts of such unapproved change orders included in the transaction prices that were still pending customer approval were $12.8 million and $11.6 million, respectively. Variations related to the Company’s contracts typically represent modifications to the existing contracts and performance obligations and do not represent new performance obligations. Actual costs related to any changes in the scope of the corresponding contract are expensed as they are incurred. Changes to total estimated contract costs and losses, if any, are reflected in operating results for the period in which they are determined.

The Company’s long-term contracts typically have schedule dates and other performance objectives that if not achieved could subject the Company to liquidated damages. These contract requirements generally relate to specified activities that must be completed by an established date or by the achievement of a specified level of output or efficiency. Each applicable contract defines the conditions under which a project owner may be entitled to any liquidated damages. At the outset of each of the Company’s contracts, the potential amounts of liquidated damages typically are not subtracted from the transaction price as the Company believes that it has included activities in its contract plan, and the associated forecasted contract costs, that will be effective in preventing such damages. Of course, circumstances may change as the Company executes the corresponding contract. The transaction price is reduced by an applicable amount when the Company no longer considers it probable that a future reversal of revenues will not occur when the matter is resolved. The Company considers potential liquidated damages, the costs of other related items and potential mitigating factors in determining the adequacy of its regularly updated estimates of the amounts of gross profit expected to be earned on active projects.

In other cases, the Company may have the grounds to assert liquidated damages against subcontractors, suppliers, project owners or other parties related to a project. Such circumstances may arise when the Company’s activities and progress are adversely affected by delayed or damaged materials, challenges with equipment performance or other events out of the

Company’s control where the Company has rights to recourse, typically in the form of liquidated damages. In general, the Company does not adjust the corresponding contract accounting until it is probable that the favorable cost relief will be realized. Such adjustments have been and could be material.

The Company records adjustments to revenues and profits on contracts, including those associated with contract variations and estimated cost changes, using a cumulative catch-up method. Under this method, the impact of an adjustment to the amount of revenues recognized to date is recorded in the period that the adjustment is identified. Estimated variable consideration amounts are determined by the Company based primarily on the single most likely amount in the range of possible consideration amounts. Revenues and profits in future periods of contract performance are recognized using the adjusted amounts of transaction price and estimated contract costs.

Remaining Unsatisfied Performance Obligations (“RUPO”)

Substantially all of the Company’s customer contracts include the right for customers to terminate contracts for convenience. The value of future work the Company is contractually obligated to perform pursuant to active customer contracts should not be included in the disclosure of RUPO when the corresponding contracts include termination for convenience clauses without substantial penalties accruing to the customers upon such terminations. Management assesses whether the nature of the work being performed under contract is largely service-based and repetitive and should be considered a succession of one-month contracts for the duration of the identified term of the contract. Predominantly, the Company’s customers contract with the Company to construct assets, to fabricate materials or to perform emergency maintenance or outage services where management believes substantial penalties or costs would be incurred upon a termination for convenience including the costs of terminating subcontracts, canceling purchase orders and returning or otherwise disposing of delivered materials and equipment. The value of RUPO on customer contracts represents amounts based on contracts or orders received from customers that the Company believes are firm and where the parties are acting in accordance with their respective obligations. The cancellation or termination of contracts for the convenience of customers has not had a material adverse effect on our consolidated financial statements.

At July 31, 2023, the Company had RUPO of $0.7 billion. The largest portion of RUPO at any date usually relates to engineering, procurement and construction (“EPC”) service and other construction contracts with typical performance durations of one to three years. However, the length of certain significant construction projects may exceed three years. The Company estimates that approximately 37% of the RUPO amount at July 31, 2023 will be included in the amount of consolidated revenues that will be recognized during the remainder of the fiscal year ending January 31, 2024 (“Fiscal 2024”). Most of the remaining amount of the RUPO amount at July 31, 2023 is expected to be recognized in revenues during the fiscal years ending January 31, 2025 and January 31, 2026.

It is important to note that estimates may be changed in the future and that cancellations, deferrals, or scope adjustments may occur related to work included in the amount of RUPO at July 31, 2023. Accordingly, RUPO may be adjusted to reflect project delays and cancellations, revisions to project scope and cost and foreign currency exchange fluctuations, or to revise estimates, as effects become known. Such adjustments to RUPO may materially reduce future revenues below Company estimates.

Disaggregation of Revenues

The following table presents consolidated revenues for the three and six months ended July 31, 2023 and 2022, disaggregated by the geographic area where the corresponding projects were located:

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2023

    

2022

2023

    

2022

United States

$

80,281

$

93,949

$

147,800

$

174,221

Republic of Ireland

 

48,075

 

15,532

 

70,656

 

25,186

United Kingdom

 

12,993

 

8,629

 

26,568

 

18,980

Consolidated Revenues

$

141,349

$

118,110

$

245,024

$

218,387

The major portions of the Company’s consolidated revenues are recognized pursuant to fixed-price contracts with most of the remaining portions earned pursuant to time-and-material contracts. Consolidated revenues are disaggregated by reportable segment in Note 14 to the condensed consolidated financial statements.

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.23.2
CASH, CASH EQUIVALENTS AND INVESTMENTS
6 Months Ended
Jul. 31, 2023
CASH, CASH EQUIVALENTS AND INVESTMENTS  
CASH, CASH EQUIVALENTS AND INVESTMENTS

NOTE 3 – CASH, CASH EQUIVALENTS AND INVESTMENTS

Cash and Cash Equivalents

The Company considers all liquid investments with original maturities of three months or less at the time of purchase to be cash equivalents. At July 31, 2023 and January 31, 2023, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments. Such investments include U.S. Treasury obligations; obligations of U.S. government agencies, authorities, instrumentalities or sponsored enterprises; and repurchase agreements secured by U.S. government obligations. Dividend income related to money market investments is recorded when earned. The balances of accrued dividends at July 31, 2023 and January 31, 2023 were $0.6 million and $0.3 million, respectively.

Investments

The Company’s investments consisted of the following as of July 31, 2023 and January 31, 2023:

    

July 31, 

January 31, 

2023

    

2023

Short-term investments

$

81,624

$

151,511

Available-for-sale securities

59,992

Total investments

$

141,616

$

151,511

Short-Term Investments

Short-term investments as of July 31, 2023 and January 31, 2023 consisted solely of CDs with weighted average maturities of one year or less purchased from Bank of America, N.A. (the “Bank”). The Company has the intent and ability to hold the CDs until they mature, and they are carried at cost plus accrued interest. Interest income is recorded when earned and is included in other income. At July 31, 2023 and January 31, 2023, the weighted average annual interest rates of the outstanding CDs were 5.3% and 2.5%, respectively. The balances of accrued interest on the CDs at July 31, 2023 and January 31, 2023 were $1.6 million and $1.8 million, respectively.

Available-For-Sale Securities

AFS securities as of July 31, 2023 consisted solely of U.S. Treasury notes with original maturities of two and three years. The Company’s AFS securities consisted of the following amounts of amortized cost, allowance for credit losses, gross unrealized gains and losses and estimated fair value by contractual maturity as of July 31, 2023:

July 31, 2023

Allowance for

Gross

Gross

Estimated

Amortized

Credit

Unrealized

Unrealized

Fair

    

Cost

    

Losses

    

Gains

    

Losses

    

Value

U.S. Treasury notes:

Due in one to two years

$

25,162

$

$

$

276

$

24,886

Due in two to three years

35,550

444

35,106

Totals

$

60,712

$

$

$

720

$

59,992

As of July 31, 2023, interest receivable in the amount of $0.6 million is included in the balance of AFS securities. For the three and six months ended July 31, 2023, the change in net unrealized holding losses for the Company’s AFS securities reported in other comprehensive income was approximately $0.7 million for both periods. For the three and six months ended July 31, 2023, there were no sales of the Company’s AFS securities, and therefore, there were no amounts of gains or losses reclassified out of other comprehensive income into net income. The Company does not believe the unrealized losses represent credit losses based on the evaluation of evidence as of July 31, 2023, which includes an assessment of whether it is more likely than not the Company will be required to sell or intends to sell the investment before recovery of the investment’s amortized cost basis.

Concentration Risk

The Company has a substantial portion of its cash on deposit in the U.S. with the Bank and invested in a money market fund. The Company also maintains certain Euro-based bank accounts in Ireland and certain pound sterling-based bank accounts in the U.K. in support of the operations of APC. Management does not believe that the combined amount of the CDs and the cash deposited with the Bank, cash invested in the money market fund, and cash balances maintained at financial institutions in Ireland and the U.K., in excess of government-insured levels, represent material risks.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.23.2
ACCOUNTS RECEIVABLE
6 Months Ended
Jul. 31, 2023
ACCOUNTS RECEIVABLE  
ACCOUNTS RECEIVABLE

NOTE 4 – ACCOUNTS RECEIVABLE

The Company generally extends credit to a customer based on an evaluation of the customer’s financial condition, without requiring tangible collateral. Customer payments on other construction, fabrication and field service contracts are generally due within 30 to 60 days of billing, depending on the negotiated terms of the corresponding contract. Exposure to losses on accounts and notes receivable is expected to differ due to the varying financial condition of each customer. The Company monitors its exposure to credit losses and may establish an allowance for credit losses based on management’s estimate of the loss that is expected to occur over the remaining life of the particular financial asset. The amounts of the provision for credit losses for the three and six months ended July 31, 2023 and 2022 were insignificant. The allowance for credit losses at July 31, 2023 and January 31, 2023 was $1.8 million and $1.9 million, respectively.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.23.2
INTANGIBLE ASSETS
6 Months Ended
Jul. 31, 2023
INTANGIBLE ASSETS  
INTANGIBLE ASSETS

NOTE 5 – INTANGIBLE ASSETS

At both July 31, 2023 and January 31, 2023, the goodwill balances related primarily to the GPS and TRC reporting units, and were $18.5 million and $9.5 million, respectively. Management does not believe that any events or circumstances occurred or arose since January 31, 2023, that required an updated assessment of the goodwill balances of either the GPS or TRC reporting units.

The Company’s intangible assets, other than goodwill, relate primarily to the industrial construction services segment and consisted of the following as of July 31, 2023 and January 31, 2023:

July 31, 2023

January 31, 2023

Estimated

Gross

Accumulated

Net

Gross

Accumulated

Net

    

Useful Life

    

Amounts

    

Amortization

    

Amounts

    

Amounts

    

Amortization

    

Amounts

Trade names

15 years

$

4,499

$

2,300

$

2,199

$

4,499

$

2,150

$

2,349

Customer relationships

10 years

916

702

214

916

656

260

Totals

$

5,415

$

3,002

$

2,413

$

5,415

$

2,806

$

2,609

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.23.2
FINANCING ARRANGEMENTS
6 Months Ended
Jul. 31, 2023
FINANCING ARRANGEMENTS  
FINANCING ARRANGEMENTS

NOTE 6 – FINANCING ARRANGEMENTS

During April 2021, the Company amended its Amended and Restated Replacement Credit Agreement with the Bank (the “Credit Agreement”) which extended the expiration date of the Credit Agreement to May 31, 2024 and reduced the borrowing rate. On March 6, 2023, the Company entered into the Second Amendment (the “Second Amendment”) to the Credit Agreement. The Second Amendment modified the Credit Amendment, primarily, to replace the interest pricing with the Secured Overnight Financing Rate (“SOFR”) plus 1.6% and to add SOFR successor rate language. The Credit Agreement, as amended, includes the following features, among others: a lending commitment of $50.0 million including a revolving loan and an accordion feature which allows for an additional commitment amount of $10.0 million, subject to certain conditions. The Company may also use the borrowing ability to cover other credit instruments issued by the Bank for the Company’s use in the ordinary course of business as defined in the Credit Agreement. Additionally, the Credit Agreement, as amended, continues to include customary terms, covenants and events of default for a credit facility of its size and nature. The Company intends to renew the Credit Agreement prior to its expiration date.

At July 31, 2023 and January 31, 2023, the Company did not have any borrowings outstanding under the Credit Agreement. However, the Bank has issued letters of credit in the total outstanding amount of $9.4 million at July 31, 2023, in support of the activities of APC under existing customer contracts. The comparable outstanding total amount of letters of credit at January 31, 2023 was $8.8 million.

The Company has pledged the majority of its assets to secure its financing arrangements. The Bank’s consent is not required for acquisitions, divestitures, cash dividends or significant investments as long as certain conditions are met. The Credit Agreement requires that the Company comply with certain financial covenants at its fiscal year-end and at each fiscal quarter-end. The Credit Agreement, as amended, includes other terms, covenants and events of default that are customary for a credit facility of its size and nature, including a requirement to achieve positive adjusted earnings before interest, taxes, depreciation and amortization, as defined, over each rolling twelve-month measurement period. As of July 31, 2023 and January 31, 2023, the Company was in compliance with the covenants of the Credit Agreement, as amended.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.23.2
COMMITMENTS
6 Months Ended
Jul. 31, 2023
COMMITMENTS  
COMMITMENTS

NOTE 7 – COMMITMENTS

Leases

The Company’s leases are primarily operating leases that cover office space, expiring on various dates through December 2031, and certain equipment used by the Company in the performance of its construction services contracts. Some of these equipment leases may be embedded in broader agreements with subcontractors or construction equipment suppliers. The Company has no material finance leases. None of the operating leases includes significant amounts for incentives, rent holidays or price escalations. Under certain leases, the Company is obligated to pay property taxes, insurance, and maintenance costs. For leases that contain both lease and non-lease components, fixed and variable payments are allocated to each component relative to observable or estimated standalone prices.

Operating lease right-of-use assets and associated lease liabilities are recorded in the balance sheet at the lease commencement date based on the present value of future minimum lease payments to be made over the expected lease term. As the implicit rate is not determinable in most of the Company’s leases, management uses the Company’s incremental borrowing rate at the commencement date in determining the present value of future payments. The expected lease term includes any option to extend or to terminate the lease when it is reasonably certain the Company will exercise such option. Right-of-use assets at July 31, 2023 and January 31, 2023, were $4.5 million and $4.8 million, respectively.

Operating lease expense amounts are recorded on a straight-line basis over the expected lease terms. Operating lease expenses for the three and six months ended July 31, 2023 were $0.4 million and $0.9 million, respectively, and they were $0.5 million and $1.3 million for the three and six months ended July 31, 2022, respectively. Operating lease payments for the three and six months ended July 31, 2023 were $0.4 million and $0.9 million, respectively, and they were $0.5 million and $1.3 million for the three and six months ended July 31, 2022, respectively.

The following is a schedule of future minimum lease payments for the operating leases that were recognized in the condensed consolidated balance sheet as of July 31, 2023:

Years Ending January 31, 

2024 (remainder)

    

$

879

2025

1,470

2026

1,194

2027

276

2028

221

Thereafter

817

Total lease payments

4,857

Less imputed interest

297

Present value of lease payments

4,560

Less current portion (included in accrued expenses)

1,535

Noncurrent portion (included in noncurrent liabilities)

$

3,025

For operating leases as of July 31, 2023, the weighted average lease term and weighted average discount rate were 53 months and 3.8%, respectively. For operating leases as of January 31, 2023, the weighted average lease term and weighted average discount rate were 58 months and 3.7%, respectively. The aggregate amounts of operating lease right-of-use assets added in exchange for lease obligations during the six months ended July 31, 2023 and 2022 were $0.7 million and $0.5 million, respectively.

The Company also uses equipment and occupies other facilities under short-term rental agreements. The Company classifies as short-term leases any lease with an initial noncancellable term of twelve months or less that does not include an option to purchase the underlying asset that the Company is reasonably certain to exercise. Rent expense amounts incurred under short-term rentals during the three and six months ended July 31, 2023 were $3.1 million and $6.8 million, respectively, and they were $3.0 million and $5.3 million for the three and six months ended July 31, 2022, respectively. Right-of-use assets and lease liabilities related to short-term leases are excluded from the consolidated balance sheets.

Performance Bonds and Guarantees

In the normal course of business and for certain major projects, the Company may be required to obtain surety or performance bonding, to cause the issuance of letters of credit, or to provide parent company guarantees (or some combination thereof) in order to provide performance assurances to clients on behalf of its contractor subsidiaries. As these subsidiaries are wholly-owned, any actual liability is ordinarily reflected in the financial statement account balances determined pursuant to the Company’s accounting for contracts with customers. When sufficient information about claims on guaranteed or bonded projects would be available and monetary damages or other costs or losses would be determined to be probable, the Company would record such losses. Any such amounts that may be required to be paid in excess of the estimated costs to complete contracts in progress as of July 31, 2023 are not estimable.

As of July 31, 2023 and January 31, 2023, the estimated amounts of the Company’s unsatisfied bonded performance obligations, covering all of its subsidiaries, were approximately $0.5 billion and $0.6 billion, respectively. As of July 31, 2023 and January 31, 2023, the outstanding amount of bonds covering other risks, including warranty obligations related to completed activities, was not material. Not all of our projects require bonding.

The Company also provided a financial guarantee, subject to certain terms and conditions, in the amount of $3.6 million in support of business development efforts. A liability was established for the estimated loss related to this guarantee during the year ended January 31, 2022 (“Fiscal 2022”).

Warranties

The Company generally provides assurance-type warranties for work performed under its construction contracts. The warranties cover defects in equipment, materials, design or workmanship, and most warranty periods typically run from nine to twenty-four months after the completion of construction on a particular project. Because of the nature of the Company’s projects, including project owner inspections of the work both during construction and prior to substantial completion, the Company has not experienced material unexpected warranty costs in the past. Warranty costs are estimated based on experience with the type of work and any known risks relative to each completed project. The accruals of liabilities, which are established to cover estimated future warranty costs, are recorded as the contracted work is performed, and they are included in the amounts of accrued expenses in the condensed consolidated balances sheets. The liability amounts may be periodically adjusted to reflect changes in the estimated size and number of expected warranty claims.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.23.2
LEGAL CONTINGENCIES
6 Months Ended
Jul. 31, 2023
LEGAL CONTINGENCIES  
LEGAL CONTINGENCIES

NOTE 8 – LEGAL CONTINGENCIES

In the normal course of business, the Company may have pending claims and legal proceedings. In the opinion of management, based on information available at this time, there are no current claims and proceedings that are expected to have a material adverse effect on the condensed consolidated financial statements as of July 31, 2023.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.23.2
STOCK-BASED COMPENSATION
6 Months Ended
Jul. 31, 2023
STOCK-BASED COMPENSATION  
STOCK-BASED COMPENSATION

NOTE 9 – STOCK-BASED COMPENSATION

On June 23, 2020, the Company’s stockholders approved the adoption of the 2020 Stock Plan (the “2020 Plan”), and the allocation of 500,000 shares of the Company’s common stock for issuance thereunder. On June 20, 2023, the Company’s stockholders approved an allocation of an additional 500,000 shares for issuance under the 2020 Plan. The Company’s board of directors may make share-based awards under the 2020 Plan to officers, directors and key employees. The 2020 Plan replaced the 2011 Stock Plan (the “2011 Plan”); the Company’s authority to make awards pursuant to the 2011 Plan expired on July 19, 2021. Together, the 2020 Plan and the 2011 Plan are hereinafter referred to as the “Stock Plans.”

The features of the 2020 Plan are similar to those included in the 2011 Plan. Awards may include nonqualified stock options, incentive stock options, and restricted or unrestricted stock. The specific provisions for each award are documented in a written agreement between the Company and the awardee. All stock options awarded under the Stock

Plans have exercise prices per share at least equal to the market value per share of the Company’s common stock on the date of grant. Stock options have terms no longer than ten years. Typically, stock options are awarded with one-third of each stock option vesting on each of the first three anniversaries of the corresponding award date.

As of July 31, 2023, there were 2,325,701 shares of common stock reserved for issuance under the Stock Plans; this number includes 586,225 shares of common stock available for future awards under the 2020 Plan.

Stock Options

A summary of stock option activity under the Stock Plans for the six months ended July 31, 2023, along with corresponding weighted average per share amounts, is presented below (shares in thousands):

Weighted

Weighted

Average

Average

Weighted

Remaining

Grant Date

Average Exercise

Contractual

Fair Value

    

Shares

    

Price Per Share

    

Term (years)

    

Per Share

Outstanding, February 1, 2023

 

1,440

$

43.84

 

5.46

$

10.11

Granted

10

$

39.47

Exercised

(45)

$

21.04

Forfeited

(1)

$

33.81

Outstanding, July 31, 2023

1,404

$

44.55

 

5.16

$

10.28

Exercisable, July 31, 2023

 

1,276

$

45.01

4.82

$

10.53

Outstanding, July 31, 2022

1,431

$

44.08

 

5.79

$

10.19

Exercisable, July 31, 2022

 

1,192

$

44.83

 

5.27

$

10.74

The changes in the number of non-vested options to purchase shares of common stock for the six months ended July 31, 2023, and the weighted average fair value per share for each number, are presented below (shares in thousands):

    

Weighted

Average

Grant Date

Fair Value

Shares

    

Per Share

Non-vested, February 1, 2023

 

194

$

7.27

Granted

 

10

$

8.12

Vested

 

(75)

$

6.62

Forfeitures

(1)

$

5.68

Non-vested, July 31, 2023

 

128

$

7.72

Non-vested, July 31, 2022

 

239

$

7.45

The total intrinsic value amount related to the stock options exercised during the six months ended July 31, 2023 was $0.9 million. The total intrinsic value amount related to the stock options exercised during the six months ended July 31, 2022 was not significant. The aggregate market value amounts of the shares of common stock subject to outstanding stock options and exercisable stock options that were “in-the-money” exceeded the aggregate exercise prices of such options at July 31, 2023 by $1.9 million and $1.8 million, respectively.

Restricted Stock Units

The Company awards restricted stock units to senior executives, certain other key employees and members of the Company’s board of directors. Awardees earn the right to receive shares of common stock as certain performance goals are achieved and/or service periods are satisfied. Each restricted stock unit expires on the three-year anniversary of the award.

During the six months ended July 31, 2023, the Company awarded total stock return performance-based restricted stock units (“PRSUs”) covering a target of 6,000 shares of common stock, earnings per share performance-based restricted stock units (“EPRSUs”) covering a target of 15,000 shares of common stock, renewable energy performance-based restricted stock units (“RPRSUs”) covering a target of 7,500 shares of common stock, time-based restricted stock units (“TRSUs”) covering 45,300 shares of common stock, and 1,354 shares based on the amount of cash dividends deemed paid on shares earned pursuant to the awards. During the six months ended July 31, 2022, the Company awarded PRSUs covering a target of 23,500 shares of common stock, RPRSUs covering a target of 7,500 shares of common stock and TRSUs covering 60,000 shares of common stock.

The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2023, and the weighted average fair value per share for each restricted stock unit, are presented below (shares in thousands):

    

    

Weighted

Average

Grant Date

Fair Value

Shares

Per Share

Outstanding, February 1, 2023

 

310

$

30.80

Awarded

 

96

$

30.68

Issued

(37)

$

44.86

Forfeited

(49)

$

15.57

Outstanding, July 31, 2023

 

320

$

30.34

Outstanding, July 31, 2022

 

280

$

29.46

Fair Value

The fair value amounts of stock options and restricted stock units are recorded as stock compensation expense on a straight-line basis over the terms of the corresponding awards. Expense amounts related to stock awards were $1.2 million and $1.1 million for the three months ended July 31, 2023 and 2022, respectively. Expense amounts related to stock awards were $2.2 million and $2.0 million for the six months ended July 31, 2023 and 2022, respectively. At July 31, 2023, there was $7.2 million in unrecognized compensation cost related to outstanding stock awards that the Company expects to expense over the next three years.

The Company estimates the weighted average fair value of stock options on the date of award using a Black-Scholes option pricing model. The Company believes that its past stock option exercise activity is sufficient to provide it with a reasonable basis upon which to estimate the expected life of newly awarded stock options. Risk-free interest rates are determined by blending the rates for three-to-five year U.S. Treasury notes. The dividend yield is based on the Company’s current annual regular dividend amount. The calculations of the expected volatility factors are based on the monthly closing prices of the Company’s common stock for the five-year periods preceding the dates of the corresponding awards.

The fair value amounts for the PRSUs have been determined by using the per share market price of the common stock on the dates of award and, by assigning equal probabilities to the thirteen possible payout outcomes at the end of each three-year term, and by computing the weighted average of the outcome amounts. For each award, the estimated fair value amount was calculated to be 88.5% of the aggregate market value of the target number (which is 50% of the maximum number) of shares on the award date. For the EPRSUs and RPRSUs, the fair value of each award equals the aggregate market price for the number of shares that, as of the award date, are probable of vesting based on the performance conditions. For the TRSUs, the fair value of each award equals the aggregate market price for the number of shares covered by each award on the date of award.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES
6 Months Ended
Jul. 31, 2023
INCOME TAXES  
INCOME TAXES

NOTE 10 – INCOME TAXES

Income Tax Expense Reconciliations

The Company’s income tax amounts for the six months ended July 31, 2023 and 2022 differed from corresponding amounts computed by applying the federal corporate income tax rate of 21% to the income before income taxes for the periods as presented below:

    

Six Months Ended July 31, 

    

2023

    

2022

Computed expected income tax expense

$

4,276

$

4,970

Difference resulting from:

State income taxes, net of federal tax effect

 

455

 

349

Unrecognized tax loss benefit

529

GILTI

505

225

Excess executive compensation

400

445

Foreign tax rate differential

(643)

(120)

Tax credits

(453)

(124)

Research and development credits adjustment

6,181

Other permanent differences and adjustments, net

418

33

Income tax expense

$

5,487

$

11,959

Foreign income tax expense for the six months ended July 31, 2023 was $1.5 million. Foreign income tax expense for the six months ended July 31, 2022 was not material.      

Net Operating Loss (“NOL”) Carryback

In an effort to combat the adverse economic impacts of the COVID-19 crisis, the U.S. Congress passed the Coronavirus, Aid, Relief, and Economic Security Act (the “CARES Act”) that was signed into law on March 27, 2020. This wide-ranging legislation was an emergency economic stimulus package that included spending and tax breaks aimed at strengthening the U.S. economy and funding a nationwide effort to curtail the effects of the outbreak of COVID-19.

The tax changes of the CARES Act included a temporary suspension of the limitations on the future utilization of certain NOLs and re-established a carryback period for certain losses to five years. The NOLs eligible for carryback under the CARES Act include the Company’s domestic NOL for the year ended January 31, 2020, which was approximately $39.5 million. The Company made the appropriate filing with the Internal Revenue Service (the “IRS”) requesting carryback refunds of income taxes paid for the years ended January 31, 2016 (“Fiscal 2016”) and 2015 (“Fiscal 2015”) in the total amount of approximately $12.7 million during the fiscal year ended January 31, 2021 (“Fiscal 2021”). At the instruction of the IRS, amended income tax returns for Fiscal 2016 and Fiscal 2015 were filed during the second quarter of the current fiscal year; the IRS has not completed the review and approval of the Company’s amended tax returns and refund request.

Research and Development Tax Credits

During Fiscal 2022, the Company completed a detailed review of the activities of its engineering staff on major EPC services projects in order to identify and quantify the amounts of research tax credits that may have been available to reduce federal income taxes for Fiscal 2022 and Fiscal 2021. As a result, the Company filed amended federal income tax returns for those years including research and development tax credits in the total amount of $5.8 million, which was netted with a provision for uncertain tax return positions in the amount of $2.4 million, and recorded as a reduction of income tax expense in the fourth quarter of Fiscal 2023.  

Income Tax Refunds

As of July 31, 2023 and January 31, 2023, the balances of other current assets in the condensed consolidated balance sheet included income tax refunds receivable and prepaid income taxes in the total amounts of approximately $16.9 million and $15.3 million, respectively. The income tax refunds included the amount expected to be received from the IRS upon its review and approval of the Company’s NOL carryback refund request as described above.

Income Tax Returns

The Company is subject to federal and state income taxes in the U.S., and income taxes in Ireland and the U.K. Tax treatments within each jurisdiction are subject to the interpretation of the related tax laws and regulations which require significant judgments to apply. The Company is no longer subject to income tax examinations by authorities for its fiscal years ended on or before January 31, 2019, except for several notable exceptions including Ireland, the U.K. and several states where the open periods are one year longer. In May 2023, the Company received notification that its amended federal income tax returns for Fiscal 2021 and Fiscal 2022 were selected for examination.

Solar Energy Projects

The Company has invested in limited liability companies that make equity investments in solar energy projects that are eligible to receive energy tax credits. The passive investments have been accounted for using the equity method; the balances are included in other assets in our condensed consolidated balance sheets. Each tax credit, when recognized, is recorded as a reduction of the corresponding investment balance with an offsetting reduction in the balance of accrued taxes payable in accordance with the deferral method. As of July 31, 2023, the Company had no remaining cash investment commitments related to these projects. At July 31, 2023 and January 31, 2023, the investment account balances were $1.1 million and $1.2 million, respectively. These investments are expected to provide positive overall returns over their six-year expected lives.

During the three and six months ended July 31, 2023, the investment balance was adjusted to reflect the Company’s share of the losses of the investment entities in the amounts of less than $0.1 million and $0.1 million, respectively. For the three and six months ended July 31, 2022, the investment balance was adjusted to reflect the Company’s share of the income of the investment entities in the amounts of approximately $0.5 million and $1.0 million, respectively. These net amounts have been included as other loss or income in the Company’s condensed consolidated statement of earnings for the corresponding periods.

Supplemental Cash Flow Information

The amounts of cash paid for income taxes during the six months ended July 31, 2023 and 2022 were $3.7 million and $1.3 million, respectively. During the six months ended July 31, 2023 and 2022, the Company did not receive any income tax refunds that were material.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.23.2
NET INCOME PER SHARE
6 Months Ended
Jul. 31, 2023
NET INCOME PER SHARE  
NET INCOME PER SHARE

NOTE 11 – NET INCOME PER SHARE

Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the note):

Three Months Ended July 31, 

    

2023

    

2022

Net income

$

12,767

$

4,222

Weighted average number of shares outstanding – basic

13,403

14,134

Effect of stock awards (1)

139

113

Weighted average number of shares outstanding – diluted

13,542

14,247

Net income per share

Basic

$

0.95

$

0.30

Diluted

$

0.94

$

0.30

(1)For the three months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of 785,167 and 876,734 shares of common stock, respectively.

Six Months Ended July 31, 

    

2023

    

2022

Net income

$

14,876

$

11,707

Weighted average number of shares outstanding – basic

13,408

14,516

Effect of stock awards (1)

136

100

Weighted average number of shares outstanding – diluted

13,544

14,616

Net income per share

Basic

$

1.11

$

0.81

Diluted

$

1.10

$

0.80

(1)For the six months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of 818,501 and 876,734 shares of common stock, respectively.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.23.2
CASH DIVIDENDS AND TREASURY STOCK
6 Months Ended
Jul. 31, 2023
CASH DIVIDENDS AND TREASURY STOCK  
CASH DIVIDENDS AND TREASURY STOCK

NOTE 12 – CASH DIVIDENDS AND TREASURY STOCK

On June 20, 2023, Argan’s board of directors declared a regular quarterly cash dividend in the amount of $0.25 per share of common stock, which was paid on July 31, 2023 to stockholders of record at the close of business on July 21, 2023. On April 10, 2023, Argan’s board of directors declared a regular quarterly cash dividend in the amount of $0.25 per share of common stock, which was paid on April 28, 2023 to stockholders of record at the close of business on April 20, 2023. During the six months ended July 31, 2022, the board of directors declared two regular quarterly cash dividends, each in the amount of $0.25 per share of common stock, which were paid to stockholders on April 29, 2022 and July 29, 2022.

Pursuant to its established program and authorizations provided by Argan’s board of directors, the Company repurchased shares of its common stock during the six months ended July 31, 2023 and 2022. During these periods, the Company repurchased 169,788 shares and 1,412,592 shares of common stock, all on the open market, for aggregate prices of approximately $6.7 million, or $39.45 per share, and $53.2 million, or $37.64 per share, respectively.

For the six months ended July 31, 2023, the Company used 81,851 of the repurchased shares to settle stock option exercises and other share-based awards. For the six months ended July 31, 2022, no treasury stock was used to settle stock option exercises and other share-based awards.

In August 2022, the Inflation Reduction Act (the “IRA”) was signed into law, which introduced a 1% excise tax on shares repurchased after December 31, 2022. For the six months ended July 31, 2023, the excise tax was not material.

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.23.2
CUSTOMER CONCENTRATIONS
6 Months Ended
Jul. 31, 2023
CUSTOMER CONCENTRATIONS  
CUSTOMER CONCENTRATIONS

NOTE 13 – CUSTOMER CONCENTRATIONS

The majority of the Company’s consolidated revenues relate to performance by the power industry services segment which provided 75% and 77% of consolidated revenues for the three months ended July 31, 2023 and 2022, respectively, and 72% and 76% of consolidated revenues for the six months ended July 31, 2023 and 2022, respectively. The industrial construction services segment represented 23% and 20% of consolidated revenues for the three months ended July 31, 2023 and 2022, respectively, and 26% and 21% of consolidated revenues for the six months ended July 31, 2023 and 2022, respectively.

The Company’s most significant customer relationships for the three months ended July 31, 2023 included three power industry service customers, which accounted for 21%, 20%, and 12% of consolidated revenues. The Company’s most significant customer relationships for the three months ended July 31, 2022 included two power industry service customers, which accounted for 47% and 10% of consolidated revenues. The Company’s most significant customer relationships for the six months ended July 31, 2023 included three power industry service customers and one industrial construction services customer, which accounted for 19%, 17%, 11% and 11% of consolidated revenues. The Company’s most significant customer relationship for the six months ended July 31, 2022 included one power industry service customer, which accounted for 47% of consolidated revenues. 

The accounts receivable balances from three major customers represented 35%, 15% and 10% of the corresponding consolidated balance as of July 31, 2023. Accounts receivable balances from three major customers represented 36%, 12% and 12% of the corresponding consolidated balance as of January 31, 2023. The contract asset balances from three major customers represented 30%, 15% and 13% of the corresponding consolidated balance as of July 31, 2023. Contract asset balances from one major customer represented 70% of the corresponding consolidated balance as of January 31, 2023.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT REPORTING
6 Months Ended
Jul. 31, 2023
SEGMENT REPORTING  
SEGMENT REPORTING

NOTE 14 – SEGMENT REPORTING

Segments represent components of an enterprise for which discrete financial information is available that is evaluated regularly by the Company’s chief executive officer, who is the chief operating decision maker, in determining how to allocate resources and in assessing performance. The Company’s reportable segments recognize revenues and incur expenses, are organized in separate business units with different management teams, customers, talents and services, and may include more than one operating segment.

Intersegment revenues and the related cost of revenues are netted against the corresponding amounts of the segment receiving the intersegment services. For the three and six months ended July 31, 2023 and 2022, intersegment revenues were not material.

Summarized below are certain operating results and financial position data of the Company’s reportable business segments for the three and six months ended July 31, 2023 and 2022. The “Other” column in each summary includes the Company’s corporate expenses.

Three Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

105,345

$

32,756

$

3,248

$

$

141,349

Cost of revenues

 

87,094

 

28,076

 

2,437

 

 

117,607

Gross profit

 

18,251

 

4,680

 

811

 

 

23,742

Selling, general and administrative expenses

5,596

1,446

727

2,732

10,501

Income (loss) from operations

12,655

3,234

84

(2,732)

13,241

Other income (loss), net

 

3,607

 

 

(3)

 

514

 

4,118

Income (loss) before income taxes

$

16,262

$

3,234

$

81

$

(2,218)

 

17,359

Income tax expense

 

4,592

Net income

$

12,767

Amortization of intangibles

$

$

98

$

$

$

98

Depreciation

128

260

99

1

488

Property, plant and equipment additions

148

220

18

386

Current assets

$

319,196

$

45,590

$

4,273

$

86,073

$

455,132

Current liabilities

183,405

28,996

1,717

1,488

215,606

Goodwill

18,476

9,467

90

28,033

Total assets

346,192

63,074

7,264

89,178

505,708

Three Months Ended

Power

Industrial

Telecom

July 31, 2022

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

91,327

$

23,022

$

3,761

$

$

118,110

Cost of revenues

 

71,225

 

19,551

 

2,947

 

 

93,723

Gross profit

 

20,102

 

3,471

 

814

 

 

24,387

Selling, general and administrative expenses

 

6,058

1,685

808

2,433

 

10,984

Income (loss) from operations

14,044

1,786

6

(2,433)

13,403

Other income (loss), net

 

437

 

 

(1)

 

69

 

505

Income (loss) before income taxes

$

14,481

$

1,786

$

5

$

(2,364)

 

13,908

Income tax expense

 

9,686

Net income

$

4,222

Amortization of intangibles

$

$

165

$

68

$

$

233

Depreciation

138

508

100

1

747

Property, plant and equipment additions

42

336

22

400

Current assets

$

258,771

$

31,960

$

4,745

$

82,717

$

378,193

Current liabilities

124,320

15,055

1,991

646

142,012

Goodwill

18,476

9,467

90

28,033

Total assets

282,783

49,097

8,198

82,992

423,070

Six Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

175,521

$

63,063

$

6,440

$

$

245,024

Cost of revenues

 

147,429

 

54,638

 

4,991

 

 

207,058

Gross profit

 

28,092

 

8,425

 

1,449

 

 

37,966

Selling, general and administrative expenses

 

11,310

2,906

1,430

5,446

21,092

Income (loss) from operations

16,782

5,519

19

(5,446)

16,874

Other income (loss), net

 

5,697

 

 

(3)

 

(2,205)

 

3,489

Income (loss) before income taxes

$

22,479

$

5,519

$

16

$

(7,651)

 

20,363

Income tax expense

 

5,487

Net income

$

14,876

Amortization of intangibles

$

$

196

$

$

$

196

Depreciation

256

564

213

2

1,035

Property, plant and equipment additions

537

476

18

1,031

Six Months Ended

Power

Industrial

Telecom

July 31, 2022

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

165,276

$

45,523

$

7,588

$

$

218,387

Cost of revenues

 

130,260

 

38,231

 

5,771

 

 

174,262

Gross profit

 

35,016

 

7,292

 

1,817

 

 

44,125

Selling, general and administrative expenses

 

11,673

3,444

1,573

4,869

21,559

Income (loss) from operations

23,343

3,848

244

(4,869)

22,566

Other income, net

 

1,021

 

 

1

 

78

 

1,100

Income (loss) before income taxes

$

24,364

$

3,848

$

245

$

(4,791)

 

23,666

Income tax expense

 

11,959

Net income

$

11,707

Amortization of intangibles

$

$

331

$

68

$

$

399

Depreciation

280

1,052

222

2

1,556

Property, plant and equipment additions

94

487

57

638

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION
6 Months Ended
Jul. 31, 2023
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION  
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION

NOTE 15 — SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION

Other current assets consisted of the following at July 31, 2023 and January 31, 2023:

    

July 31, 

January 31, 

2023

    

2023

Income tax refunds receivable and prepaid income taxes

$

16,895

$

15,327

Raw materials inventory

12,836

11,903

Prepaid expenses

 

6,848

 

4,541

Other

6,859

6,563

Total other current assets

$

43,438

$

38,334

Accrued expenses consisted of the following at July 31, 2023 and January 31, 2023:

    

July 31, 

January 31, 

2023

    

2023

Accrued compensation

$

13,085

$

18,286

Accrued project costs

43,995

17,448

Lease liabilities

1,535

1,567

Other

9,005

12,566

Total accrued expenses

$

67,620

$

49,867

On March 7, 2023, the Company determined that it had been a victim of a complex criminal scheme, which resulted in fraudulently-induced outbound wire transfers to a third-party account. As a result of the event, the Company incurred a loss of approximately $3.0 million. The Company retained specialized legal counsel and a cybersecurity services firm to assist in an independent forensic investigation of the incident and the efforts to recover the funds. As a result, the Company incurred legal, audit and other professional fees in the aggregate amount of $0.2 million related to this event and has recovered approximately $0.4 million through legal efforts and insurance proceeds as of July 31, 2023. The Company continues to pursue efforts to recover additional funds. The total amount of the fraud loss and the professional fees, net with funds recovered, of approximately $2.8 million is included in other income, net in the condensed consolidated statements of earnings for the six months ended July 31, 2023.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.23.2
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)
6 Months Ended
Jul. 31, 2023
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION  
Description of the Business

Description of the Business

Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.”

Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The wide range of customers includes primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with customer projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.

Basis of Presentation and Significant Accounting Policies

Basis of Presentation and Significant Accounting Policies

The condensed consolidated financial statements include the accounts of Argan, its wholly-owned subsidiaries and a variable interest entity (“VIE”) prior to its deconsolidation in the fourth quarter of the year ended January 31, 2023. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 14, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions.

The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2023, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended July 31, 2023 and 2022 are unaudited. The condensed consolidated balance sheet as of January 31, 2023 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (“Fiscal 2023”).

In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2023, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.

Recently Issued Accounting Pronouncements

Recently Issued Accounting Pronouncements

In March 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-02, Investments—Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method (“ASU 2023-02”), which provides an election to account for tax equity investments using the proportional amortization method, if certain conditions are met. Under the proportional amortization method, the initial cost of an investment is amortized in proportion to the amount of the tax credits and other tax benefits received and presented net as a component of income tax expense. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within those fiscal years. The Company’s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method under this guidance.

There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.

Available-For-Sale Securities

Available-For-Sale Securities

At each balance sheet date, available-for-sale (“AFS”) securities are recorded at fair value, with unrealized gains and losses, net of income taxes, reported as a component of accumulated other comprehensive loss. Interest income, accretion of discounts, amortization of premiums, realized gains and losses are included in other income or expense, as applicable, in the Company’s condensed consolidated statement of earnings. The Company determines the cost of securities sold based on the specific identification method. The Company determines the appropriate classification of AFS securities based on whether they represent the investment of cash available for current operations, as defined in Accounting Standards Codification (“ASC”) 210-10-45-1 and ASC 210-10-45-2. The classification of the AFS securities is reevaluated at each balance sheet date.

The Company evaluates whether a decline in the fair value of AFS securities below amortized cost basis is credit-related or due to other factors. If the Company intends to sell the AFS security or it is more likely than not the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security’s amortized cost basis. If a portion of the unrealized loss is credit-related, the impairment is recorded as an allowance on the balance sheet with a corresponding adjustment to earnings. Credit recovery is recorded as an adjustment to the allowance and earnings in the period in which credit conditions improve.

Fair Values

Fair Values

ASC Topic 820, Fair Value Measurement, establishes a fair value hierarchy that requires an entity to maximize the use of observable inputs and to minimize the use of unobservable inputs when measuring fair value. Fair value is the price that would be received to sell an asset or paid to transfer a liability in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The fair value hierarchy prioritizes the inputs into three levels that may be used to measure fair value:

Level 1 – Inputs are unadjusted quoted prices in active markets for identical assets or liabilities.

Level 2 – Inputs are quoted prices for similar assets or liabilities in active markets; or quoted prices for identical or similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.

Level 3 – Inputs are unobservable inputs based on a company’s own assumptions.

At July 31, 2023 and January 31, 2023, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments. The money market fund was classified as Level 1 due to the short-term nature of these instruments and as their fair value is based on quoted prices in active markets for identical assets. As of July 31, 2023, all of the Company’s available-for-sale securities were U.S. Treasury notes and were classified as Level 2, as their fair value is measured based on quoted prices in active markets for similar assets.  As of July 31, 2023 and January 31, 2023, the Company did not have any financial assets measured on a recurring basis using Level 3 inputs. The carrying value amounts presented in the condensed consolidated balance sheets for the Company’s other current assets, including cash, certificates of deposit (“CDs”), accounts receivable and contract assets, and its current liabilities are reasonable estimates of their fair values due to the short-term nature of these items.

The following table shows the Company’s financial instruments as of July 31, 2023 and January 31, 2023 that are measured and recorded at fair value on a recurring basis:

July 31, 2023

January 31, 2023

Level 1

Level 2

Level 3

Level 1

Level 2

Level 3

    

Inputs

    

Inputs

Inputs

    

Inputs

Inputs

    

Inputs

Money market fund

$

127,064

$

$

$

68,647

$

$

Available-for-sale securities

59,992

Totals

$

127,064

$

59,992

$

$

68,647

$

$

Treasury Stock

Treasury Stock

Treasury stock is recorded using the cost method. Incremental direct costs to purchase treasury stock, including excise tax, are included in the cost of the shares acquired. The Company uses the average cost method to account for treasury stock. For treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For treasury stock provided for settlements or sold at a price lower than its cost, the loss is recorded to additional paid-in capital to the extent there are previous net gains included in additional paid-in capital. Any losses in excess of that amount are recorded to retained earnings.

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.23.2
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)
6 Months Ended
Jul. 31, 2023
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION  
Schedule of financial instruments recorded at fair value on a recurring basis

July 31, 2023

January 31, 2023

Level 1

Level 2

Level 3

Level 1

Level 2

Level 3

    

Inputs

    

Inputs

Inputs

    

Inputs

Inputs

    

Inputs

Money market fund

$

127,064

$

$

$

68,647

$

$

Available-for-sale securities

59,992

Totals

$

127,064

$

59,992

$

$

68,647

$

$

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)
6 Months Ended
Jul. 31, 2023
REVENUES FROM CONTRACTS WITH CUSTOMERS  
Schedule of consolidated revenues disaggregated by geographical area

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2023

    

2022

2023

    

2022

United States

$

80,281

$

93,949

$

147,800

$

174,221

Republic of Ireland

 

48,075

 

15,532

 

70,656

 

25,186

United Kingdom

 

12,993

 

8,629

 

26,568

 

18,980

Consolidated Revenues

$

141,349

$

118,110

$

245,024

$

218,387

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.23.2
CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)
6 Months Ended
Jul. 31, 2023
CASH, CASH EQUIVALENTS AND INVESTMENTS  
Investments

    

July 31, 

January 31, 

2023

    

2023

Short-term investments

$

81,624

$

151,511

Available-for-sale securities

59,992

Total investments

$

141,616

$

151,511

Schedule of available-for-sale securities

July 31, 2023

Allowance for

Gross

Gross

Estimated

Amortized

Credit

Unrealized

Unrealized

Fair

    

Cost

    

Losses

    

Gains

    

Losses

    

Value

U.S. Treasury notes:

Due in one to two years

$

25,162

$

$

$

276

$

24,886

Due in two to three years

35,550

444

35,106

Totals

$

60,712

$

$

$

720

$

59,992

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.23.2
INTANGIBLE ASSETS (Tables)
6 Months Ended
Jul. 31, 2023
INTANGIBLE ASSETS  
Schedule of company's purchased intangible assets, other than goodwill

July 31, 2023

January 31, 2023

Estimated

Gross

Accumulated

Net

Gross

Accumulated

Net

    

Useful Life

    

Amounts

    

Amortization

    

Amounts

    

Amounts

    

Amortization

    

Amounts

Trade names

15 years

$

4,499

$

2,300

$

2,199

$

4,499

$

2,150

$

2,349

Customer relationships

10 years

916

702

214

916

656

260

Totals

$

5,415

$

3,002

$

2,413

$

5,415

$

2,806

$

2,609

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.23.2
COMMITMENTS (Tables)
6 Months Ended
Jul. 31, 2023
COMMITMENTS  
Schedule of future minimum lease payments for the operating leases

Years Ending January 31, 

2024 (remainder)

    

$

879

2025

1,470

2026

1,194

2027

276

2028

221

Thereafter

817

Total lease payments

4,857

Less imputed interest

297

Present value of lease payments

4,560

Less current portion (included in accrued expenses)

1,535

Noncurrent portion (included in noncurrent liabilities)

$

3,025

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.23.2
STOCK-BASED COMPENSATION (Tables)
6 Months Ended
Jul. 31, 2023
STOCK-BASED COMPENSATION  
Schedule of stock option activity under the Company's stock plans

A summary of stock option activity under the Stock Plans for the six months ended July 31, 2023, along with corresponding weighted average per share amounts, is presented below (shares in thousands):

Weighted

Weighted

Average

Average

Weighted

Remaining

Grant Date

Average Exercise

Contractual

Fair Value

    

Shares

    

Price Per Share

    

Term (years)

    

Per Share

Outstanding, February 1, 2023

 

1,440

$

43.84

 

5.46

$

10.11

Granted

10

$

39.47

Exercised

(45)

$

21.04

Forfeited

(1)

$

33.81

Outstanding, July 31, 2023

1,404

$

44.55

 

5.16

$

10.28

Exercisable, July 31, 2023

 

1,276

$

45.01

4.82

$

10.53

Outstanding, July 31, 2022

1,431

$

44.08

 

5.79

$

10.19

Exercisable, July 31, 2022

 

1,192

$

44.83

 

5.27

$

10.74

Schedule of changes in the number of non-vested options to purchase shares of common stock

The changes in the number of non-vested options to purchase shares of common stock for the six months ended July 31, 2023, and the weighted average fair value per share for each number, are presented below (shares in thousands):

    

Weighted

Average

Grant Date

Fair Value

Shares

    

Per Share

Non-vested, February 1, 2023

 

194

$

7.27

Granted

 

10

$

8.12

Vested

 

(75)

$

6.62

Forfeitures

(1)

$

5.68

Non-vested, July 31, 2023

 

128

$

7.72

Non-vested, July 31, 2022

 

239

$

7.45

Schedule of changes in restricted stock units

The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2023, and the weighted average fair value per share for each restricted stock unit, are presented below (shares in thousands):

    

    

Weighted

Average

Grant Date

Fair Value

Shares

Per Share

Outstanding, February 1, 2023

 

310

$

30.80

Awarded

 

96

$

30.68

Issued

(37)

$

44.86

Forfeited

(49)

$

15.57

Outstanding, July 31, 2023

 

320

$

30.34

Outstanding, July 31, 2022

 

280

$

29.46

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES (Tables)
6 Months Ended
Jul. 31, 2023
INCOME TAXES  
Schedule of actual income tax expense amounts

    

Six Months Ended July 31, 

    

2023

    

2022

Computed expected income tax expense

$

4,276

$

4,970

Difference resulting from:

State income taxes, net of federal tax effect

 

455

 

349

Unrecognized tax loss benefit

529

GILTI

505

225

Excess executive compensation

400

445

Foreign tax rate differential

(643)

(120)

Tax credits

(453)

(124)

Research and development credits adjustment

6,181

Other permanent differences and adjustments, net

418

33

Income tax expense

$

5,487

$

11,959

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.23.2
NET INCOME PER SHARE (Tables)
6 Months Ended
Jul. 31, 2023
NET INCOME PER SHARE  
Schedule of computations of basic and diluted net income per share

Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the note):

Three Months Ended July 31, 

    

2023

    

2022

Net income

$

12,767

$

4,222

Weighted average number of shares outstanding – basic

13,403

14,134

Effect of stock awards (1)

139

113

Weighted average number of shares outstanding – diluted

13,542

14,247

Net income per share

Basic

$

0.95

$

0.30

Diluted

$

0.94

$

0.30

(1)For the three months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of 785,167 and 876,734 shares of common stock, respectively.

Six Months Ended July 31, 

    

2023

    

2022

Net income

$

14,876

$

11,707

Weighted average number of shares outstanding – basic

13,408

14,516

Effect of stock awards (1)

136

100

Weighted average number of shares outstanding – diluted

13,544

14,616

Net income per share

Basic

$

1.11

$

0.81

Diluted

$

1.10

$

0.80

(1)For the six months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of 818,501 and 876,734 shares of common stock, respectively.
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT REPORTING (Tables)
6 Months Ended
Jul. 31, 2023
SEGMENT REPORTING  
Schedule of operating results and certain financial position data of the Company's reportable business segments

Three Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

105,345

$

32,756

$

3,248

$

$

141,349

Cost of revenues

 

87,094

 

28,076

 

2,437

 

 

117,607

Gross profit

 

18,251

 

4,680

 

811

 

 

23,742

Selling, general and administrative expenses

5,596

1,446

727

2,732

10,501

Income (loss) from operations

12,655

3,234

84

(2,732)

13,241

Other income (loss), net

 

3,607

 

 

(3)

 

514

 

4,118

Income (loss) before income taxes

$

16,262

$

3,234

$

81

$

(2,218)

 

17,359

Income tax expense

 

4,592

Net income

$

12,767

Amortization of intangibles

$

$

98

$

$

$

98

Depreciation

128

260

99

1

488

Property, plant and equipment additions

148

220

18

386

Current assets

$

319,196

$

45,590

$

4,273

$

86,073

$

455,132

Current liabilities

183,405

28,996

1,717

1,488

215,606

Goodwill

18,476

9,467

90

28,033

Total assets

346,192

63,074

7,264

89,178

505,708

Three Months Ended

Power

Industrial

Telecom

July 31, 2022

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

91,327

$

23,022

$

3,761

$

$

118,110

Cost of revenues

 

71,225

 

19,551

 

2,947

 

 

93,723

Gross profit

 

20,102

 

3,471

 

814

 

 

24,387

Selling, general and administrative expenses

 

6,058

1,685

808

2,433

 

10,984

Income (loss) from operations

14,044

1,786

6

(2,433)

13,403

Other income (loss), net

 

437

 

 

(1)

 

69

 

505

Income (loss) before income taxes

$

14,481

$

1,786

$

5

$

(2,364)

 

13,908

Income tax expense

 

9,686

Net income

$

4,222

Amortization of intangibles

$

$

165

$

68

$

$

233

Depreciation

138

508

100

1

747

Property, plant and equipment additions

42

336

22

400

Current assets

$

258,771

$

31,960

$

4,745

$

82,717

$

378,193

Current liabilities

124,320

15,055

1,991

646

142,012

Goodwill

18,476

9,467

90

28,033

Total assets

282,783

49,097

8,198

82,992

423,070

Six Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

175,521

$

63,063

$

6,440

$

$

245,024

Cost of revenues

 

147,429

 

54,638

 

4,991

 

 

207,058

Gross profit

 

28,092

 

8,425

 

1,449

 

 

37,966

Selling, general and administrative expenses

 

11,310

2,906

1,430

5,446

21,092

Income (loss) from operations

16,782

5,519

19

(5,446)

16,874

Other income (loss), net

 

5,697

 

 

(3)

 

(2,205)

 

3,489

Income (loss) before income taxes

$

22,479

$

5,519

$

16

$

(7,651)

 

20,363

Income tax expense

 

5,487

Net income

$

14,876

Amortization of intangibles

$

$

196

$

$

$

196

Depreciation

256

564

213

2

1,035

Property, plant and equipment additions

537

476

18

1,031

Six Months Ended

Power

Industrial

Telecom

July 31, 2022

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

165,276

$

45,523

$

7,588

$

$

218,387

Cost of revenues

 

130,260

 

38,231

 

5,771

 

 

174,262

Gross profit

 

35,016

 

7,292

 

1,817

 

 

44,125

Selling, general and administrative expenses

 

11,673

3,444

1,573

4,869

21,559

Income (loss) from operations

23,343

3,848

244

(4,869)

22,566

Other income, net

 

1,021

 

 

1

 

78

 

1,100

Income (loss) before income taxes

$

24,364

$

3,848

$

245

$

(4,791)

 

23,666

Income tax expense

 

11,959

Net income

$

11,707

Amortization of intangibles

$

$

331

$

68

$

$

399

Depreciation

280

1,052

222

2

1,556

Property, plant and equipment additions

94

487

57

638

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)
6 Months Ended
Jul. 31, 2023
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION  
Schedule of other current assets

    

July 31, 

January 31, 

2023

    

2023

Income tax refunds receivable and prepaid income taxes

$

16,895

$

15,327

Raw materials inventory

12,836

11,903

Prepaid expenses

 

6,848

 

4,541

Other

6,859

6,563

Total other current assets

$

43,438

$

38,334

Schedule of accrued expenses

    

July 31, 

January 31, 

2023

    

2023

Accrued compensation

$

13,085

$

18,286

Accrued project costs

43,995

17,448

Lease liabilities

1,535

1,567

Other

9,005

12,566

Total accrued expenses

$

67,620

$

49,867

XML 44 R33.htm IDEA: XBRL DOCUMENT v3.23.2
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details) - USD ($)
$ in Thousands
Jul. 31, 2023
Jan. 31, 2023
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Available-for-sale-securities $ 59,992  
Fair value, recurring | Level 1 Inputs    
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Totals 127,064 $ 68,647
Fair value, recurring | Level 1 Inputs | Money market funds    
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Cash and cash equivalents 127,064 $ 68,647
Fair value, recurring | Level 2 Inputs    
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Available-for-sale-securities 59,992  
Totals $ 59,992  
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUES FROM CONTRACTS WITH CUSTOMERS (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
Jan. 31, 2023
REVENUES FROM CONTRACTS WITH CUSTOMERS          
Revenue recognized $ 64.7 $ 83.2 $ 87.0 $ 127.6  
Retained amounts by project owners $ 28.1   $ 28.1   $ 49.1
Amounts of unpriced change orders included in transaction prices 12.8   12.8   11.6
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details) - Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-08-01
$ in Billions
Jul. 31, 2023
USD ($)
REVENUES FROM CONTRACTS WITH CUSTOMERS  
Contract backlog amount $ 0.7
Contract backlog (as percent) 37.00%
Performance period 3 years
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
Disaggregation of Revenues        
Totals $ 141,349 $ 118,110 $ 245,024 $ 218,387
United States        
Disaggregation of Revenues        
Totals 80,281 93,949 147,800 174,221
Republic of Ireland        
Disaggregation of Revenues        
Totals 48,075 15,532 70,656 25,186
United Kingdom        
Disaggregation of Revenues        
Totals $ 12,993 $ 8,629 $ 26,568 $ 18,980
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.23.2
CASH, CASH EQUIVALENTS AND INVESTMENTS (Details) - USD ($)
$ in Millions
6 Months Ended 12 Months Ended
Jul. 31, 2023
Jan. 31, 2023
Cash and Cash Equivalents    
Accrued dividends $ 0.6 $ 0.3
Held-to-maturity Securities    
Cash and Cash Equivalents    
Maturity period 1 year 1 year
Weighted average annual interest rates of CDs (as a percent) 5.30% 2.50%
Accrued interest $ 1.6 $ 1.8
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.23.2
CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details) - USD ($)
$ in Thousands
6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Cash and Cash Equivalents    
Interest receivable $ 600  
Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current, Statement of Financial Position [Extensible Enumeration] Investments  
Net unrealized holding losses for the Company's AFS securities $ 700 $ 700
Proceeds from sale of debt securities, available-for-sale 0  
Amounts of gains or losses reclassified out of other comprehensive income 0  
Available-for-sale securities    
Fair Value 59,992  
US Treasury notes    
Available-for-sale securities    
Amortized cost, Due in one to two years 25,162  
Amortized Cost, Due in two to three years 35,550  
Amortized Cost 60,712  
Gross Unrealized Losses, Due in one to two years 276  
Gross Unrealized Losses, Due in two to three years 444  
Gross Unrealized Losses 720  
Fair value, Due in one to two years 24,886  
Fair Value, Due in two to three years 35,106  
Fair Value $ 59,992  
Minimum | US Treasury notes    
Cash and Cash Equivalents    
Available-for-sale securities term 2 years  
Maximum | US Treasury notes    
Cash and Cash Equivalents    
Available-for-sale securities term 3 years  
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.23.2
CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details) - USD ($)
$ in Thousands
Jul. 31, 2023
Jan. 31, 2023
CASH, CASH EQUIVALENTS AND INVESTMENTS    
Short-term investments $ 81,624 $ 151,511
Available-for-sale-securities 59,992  
Total investments $ 141,616 $ 151,511
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.23.2
ACCOUNTS RECEIVABLE (Details) - USD ($)
$ in Millions
Jul. 31, 2023
Jan. 31, 2023
ACCOUNTS RECEIVABLE    
Allowance for uncollectible accounts $ 1.8 $ 1.9
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.23.2
INTANGIBLE ASSETS - Components of Intangible Assets (Details) - USD ($)
$ in Thousands
Jul. 31, 2023
Jan. 31, 2023
Finite-Lived Intangible Assets [Line Items]    
Gross Amounts $ 5,415 $ 5,415
Accumulated Amortization 3,002 2,806
Net Amounts $ 2,413 2,609
Trade Name    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life (in years) 15 years  
Gross Amounts $ 4,499 4,499
Accumulated Amortization 2,300 2,150
Net Amounts $ 2,199 2,349
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life (in years) 10 years  
Gross Amounts $ 916 916
Accumulated Amortization 702 656
Net Amounts $ 214 $ 260
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.23.2
INTANGIBLE ASSETS - Additional Information (Details) - USD ($)
$ in Thousands
Jul. 31, 2023
Jan. 31, 2023
Jul. 31, 2022
Indefinite-Lived Intangible Assets      
Goodwill $ 28,033 $ 28,033 $ 28,033
TRC.      
Indefinite-Lived Intangible Assets      
Goodwill 9,500 9,500  
GPS.      
Indefinite-Lived Intangible Assets      
Goodwill $ 18,500 $ 18,500  
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.23.2
FINANCING ARRANGEMENTS (Details) - USD ($)
$ in Millions
Mar. 06, 2023
Jul. 31, 2023
Jan. 31, 2023
Revolving Credit Facility      
Financing Arrangements      
Additional commitment amount $ 10.0    
Revolving Credit Facility | Secured Overnight Financing Rate (SOFR)      
Financing Arrangements      
Interest rate margin on referred rate 1.60%    
Revolving Credit Facility | Expires on May 31, 2024      
Financing Arrangements      
Borrowing available under financing arrangements $ 50.0    
Letter of Credit      
Financing Arrangements      
Letters of credit outstanding amount   $ 9.4 $ 8.8
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.23.2
COMMITMENTS - Leases (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
Jan. 31, 2023
Operating leases, options to extend     true    
Operating leases, options to terminate     true    
Operating lease, right-of-use assets $ 4,500   $ 4,500   $ 4,800
Operating lease expense 400 $ 500 884 $ 1,319  
Operating lease payments $ 400 500 $ 900 1,300  
Weighted average lease term 53 months   53 months   58 months
Weighted average discount rate 3.80%   3.80%   3.70%
Future minimum lease payment     $ 700 500  
Short-term rentals expense $ 3,100 $ 3,000 6,800 $ 5,300  
Unsatisfied bonded performance obligations 500,000   500,000   $ 600,000
GPS | Financial guarantee          
Guarantor obligation maximum exposure $ 3,600   $ 3,600    
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.23.2
COMMITMENTS - Future minimum lease payments (Details)
$ in Thousands
Jul. 31, 2023
USD ($)
Operating Leases  
2024 (remainder) $ 879
2025 1,470
2026 1,194
2027 276
2028 221
Thereafter 817
Total lease payments 4,857
Less imputed interest 297
Present value of lease payments 4,560
Less current portion (included in accrued expenses) $ 1,535
Less current portion (included in accrued expenses) Accrued expenses
Non-current portion (included in noncurrent liabilities) $ 3,025
Non-current portion (included in noncurrent liabilities) Noncurrent liabilities
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.23.2
COMMITMENTS - Warranties (Details)
6 Months Ended
Jul. 31, 2023
Minimum  
Warranty period P9M
Maximum  
Warranty period P24M
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.23.2
STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details) - $ / shares
shares in Thousands
6 Months Ended 12 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jan. 31, 2023
STOCK-BASED COMPENSATION      
Shares, Outstanding, Beginning balance 1,440    
Shares, Granted 10    
Shares, Exercised (45)    
Shares, Forfeited (1)    
Shares, Outstanding, Ending balance 1,404 1,431 1,440
Shares, Exercisable 1,276 1,192  
Weighted Average Exercise Price Per Share, Outstanding, Beginning balance $ 43.84    
Weighted Average Exercise Price Per Share, Granted 39.47    
Weighted Average Exercise Price Per Share, Exercised 21.04    
Weighted Average Exercise Price Per Share, Forfeited 33.81    
Weighted Average Exercise Price Per Share, Outstanding, Ending balance 44.55 $ 44.08 $ 43.84
Weighted Average Exercise Price Per Share, Exercisable $ 45.01 $ 44.83  
Weighted Average Remaining Term (Years), Outstanding 5 years 1 month 28 days 5 years 9 months 14 days 5 years 5 months 15 days
Weighted Average Remaining Term (Years), Exercisable 4 years 9 months 25 days 5 years 3 months 7 days  
Weighted Average Grant Date Fair Value Per Share, Outstanding $ 10.28 $ 10.19 $ 10.11
Weighted Average Grant Date Fair Value Per Share, Exercisable $ 10.53 $ 10.74  
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.23.2
STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details) - $ / shares
shares in Thousands
6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
STOCK-BASED COMPENSATION    
Shares, Non-vested, Beginning balance 194  
Shares, Granted 10  
Shares, Vested (75)  
Shares, Forfeitures (1)  
Shares, Non-vested, Ending balance 128  
Shares, Non-vested 128 239
Weighted Average Grant Date Fair Value Per Share, Non-vested, Beginning balance $ 7.27  
Weighted Average Grant Date Fair Value Per Share, Granted 8.12  
Weighted Average Grant Date Fair Value Per Share, Vested 6.62  
Weighted Average Grant Date Fair Value Per Share, Forfeitures 5.68  
Weighted Average Grant Date Fair Value Per Share, Non-vested, Ending balance 7.72  
Weighted Average Grant Date Fair Value Per Share, Non-vested $ 7.72 $ 7.45
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.23.2
STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details) - Restricted Stock Units - $ / shares
shares in Thousands
6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Shares    
Outstanding, Beginning balance (in shares) 310  
Awarded (in shares) 96  
Issued (in shares) (37)  
Forfeited (in shares) (49)  
Outstanding, Ending balance (in shares) 320  
Outstanding (in shares) 320 280
Weighted Average Grant Date Fair Value Per Share    
Outstanding, Beginning balance Fair value (Per share) $ 30.80  
Awarded, Fair value (Per share) 30.68  
Issued, Fair value (Per share) 44.86  
Forfeited (Per share) 15.57  
Outstanding, Ending balance Fair value (Per share) 30.34  
Outstanding, Fair value (per share) $ 30.34 $ 29.46
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.23.2
STOCK-BASED COMPENSATION - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
Jun. 20, 2023
Jun. 23, 2020
Share-based Compensation Arrangement by Share-based Payment Award            
Cash dividends deemed paid on shares     1,354      
Percentage Reduction In The Aggregate Fair Value Of Stock Option     88.50%      
Stock compensation expense $ 1,200 $ 1,100 $ 2,218 $ 1,979    
Unrecognized compensation cost 7,200   $ 7,200      
Compensation expense recognize, period     3 years      
Intrinsic value of the stock options exercised     $ 900      
Intrinsic value of outstanding stock options 1,900   1,900      
Intrinsic value of exercisable stock options $ 1,800   $ 1,800      
Period used for calculations     5 years      
Minimum            
Share-based Compensation Arrangement by Share-based Payment Award            
Period used for calculations     3 years      
Maximum            
Share-based Compensation Arrangement by Share-based Payment Award            
Period used for calculations     5 years      
2020 Plan            
Share-based Compensation Arrangement by Share-based Payment Award            
Number of shares of common stock reserved for issuance         500,000 500,000
Employee Stock Option [Member]            
Share-based Compensation Arrangement by Share-based Payment Award            
Initial vesting percentage     33.33%      
Period to become exercisable     3 years      
Number of shares of common stock reserved for issuance 2,325,701   2,325,701      
Number of shares of common stock available for award 586,225   586,225      
Performance-based restricted stock units            
Share-based Compensation Arrangement by Share-based Payment Award            
The number of shares issuable under restricted stock units awarded during the period 6,000 23,500 6,000 23,500    
Earnings per share performance-based restricted stock units            
Share-based Compensation Arrangement by Share-based Payment Award            
The number of shares issuable under restricted stock units awarded during the period 15,000   15,000      
ISOs/NSOs | Stock Plan            
Share-based Compensation Arrangement by Share-based Payment Award            
Incentive stock option award maximum expiration period     10 years      
Restricted Stock Units            
Share-based Compensation Arrangement by Share-based Payment Award            
Incentive stock option award maximum expiration period     3 years      
Renewable Performance-Based Restricted Stock Units            
Share-based Compensation Arrangement by Share-based Payment Award            
The number of shares issuable under restricted stock units awarded during the period 7,500 7,500 7,500 7,500    
Time Based Restricted Stock Units            
Share-based Compensation Arrangement by Share-based Payment Award            
The number of shares issuable under restricted stock units awarded during the period 45,300 60,000 45,300 60,000    
Senior executives | Performance-based restricted stock units | Stock Plan            
Share-based Compensation Arrangement by Share-based Payment Award            
Period to become exercisable     3 years      
Percentage of the maximum shares for the target number of shares awarded     50.00%      
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES - Income Tax Expense Reconciliation (Details) - USD ($)
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
INCOME TAXES        
Federal corporate income tax rate (as percent)     21.00% 21.00%
Computed expected income tax expense     $ 4,276,000 $ 4,970,000
State income taxes, net of federal tax effect     455,000 349,000
Unrecognized tax loss benefit     529,000  
GILTI     505,000 225,000
Excess executive compensation     400,000 445,000
Foreign tax rate differential     (643,000) (120,000)
Tax credits     (453,000) (124,000)
Research and development credits adjustment       6,181,000
Other permanent differences and adjustments, net     418,000 33,000
Income tax expense $ 4,592,000 $ 9,686,000 5,487,000 11,959,000
Foreign income tax expense     $ 1,500,000 $ 0
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES - Net Operating Loss Carryback (Details) - USD ($)
$ in Millions
6 Months Ended
Jul. 31, 2023
Jan. 31, 2021
Jan. 31, 2020
INCOME TAXES      
Increase in loss carryback period for certain losses 5 years    
Domestic net operating loss carryback     $ 39.5
Income tax receivable   $ 12.7  
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES - Research and Development Tax Credits (Details) - USD ($)
$ in Thousands
6 Months Ended
Jul. 31, 2023
Jan. 31, 2023
INCOME TAXES    
Federal research and development tax credits $ 5,800  
Development tax credit 2,400  
Income tax refunds and prepaid income taxes $ 16,895 $ 15,327
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
Jan. 31, 2023
Net Investment Income [Line Items]          
Investment account balances $ 1,100   $ 1,100   $ 1,200
Remaining cash investment commitments 0   $ 0    
Expected life of investment     6 years    
Cash paid for income taxes     $ 3,700 $ 1,300  
Loss of investment     (98) 1,070  
Other income (expense)          
Net Investment Income [Line Items]          
Loss of investment $ 100 $ 500 $ 100 $ 1,000  
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.23.2
NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
NET INCOME PER SHARE        
Net income $ 12,767 $ 4,222 $ 14,876 $ 11,707
Weighted average number of shares outstanding - basic 13,403 14,134 13,408 14,516
Effects of stock awards 139 113 136 100
Weighted average number of shares outstanding - diluted 13,542 14,247 13,544 14,616
Basic (in dollars per share) $ 0.95 $ 0.30 $ 1.11 $ 0.81
Diluted (in dollars per share) $ 0.94 $ 0.30 $ 1.10 $ 0.80
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.23.2
NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN - Additional information (Details) - shares
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
NET INCOME PER SHARE        
Antidilutive common stock 785,167 876,734 818,501 876,734
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.23.2
CASH DIVIDENDS AND TREASURY STOCK (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jun. 20, 2023
Apr. 28, 2023
Apr. 10, 2023
Jul. 31, 2022
Jul. 29, 2022
Apr. 29, 2022
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
CASH DIVIDENDS AND TREASURY STOCK                      
Regular cash dividend declared per common stock   $ 0.25   $ 0.25 $ 0.25     $ 0.25 $ 0.25 $ 0.50 $ 0.50
Common stock repurchases (in shares)                   169,788 1,412,592
Common stock repurchased               $ 3,057 $ 26,091 $ 6,738 $ 53,168
Share price $ 39.45       $ 37.64     $ 39.45 $ 37.64 $ 39.45 $ 37.64
Regular cash dividend paid per common stock $ 0.25   $ 0.25     $ 0.25 $ 0.25        
Repurchased shares to settle stock option exercises and other share-based awards                   81,851  
Treasury stock to settle stock option exercises and other share-based awards                     0
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.23.2
CUSTOMER CONCENTRATIONS (Details) - customer
3 Months Ended 6 Months Ended 12 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
Jan. 31, 2023
Customer Concentration Risk [Member] | Accounts Receivable [Member]          
Customer Concentrations          
Number of customers     3   3
Customer Concentration Risk [Member] | Contract Asset          
Customer Concentrations          
Number of customers     3   1
Customer Concentration Risk [Member] | Major Customer One [Member] | Accounts Receivable [Member]          
Customer Concentrations          
Percentage of major customers or segments     35.00%   36.00%
Customer Concentration Risk [Member] | Major Customer One [Member] | Contract Asset          
Customer Concentrations          
Percentage of major customers or segments     30.00%   70.00%
Customer Concentration Risk [Member] | Major Customer Two [Member] | Accounts Receivable [Member]          
Customer Concentrations          
Percentage of major customers or segments     15.00%   12.00%
Customer Concentration Risk [Member] | Major Customer Two [Member] | Contract Asset          
Customer Concentrations          
Percentage of major customers or segments     15.00%    
Customer Concentration Risk [Member] | Major Customer Three [Member] | Accounts Receivable [Member]          
Customer Concentrations          
Percentage of major customers or segments     10.00%   12.00%
Customer Concentration Risk [Member] | Major Customer Three [Member] | Contract Asset          
Customer Concentrations          
Percentage of major customers or segments     13.00%    
Power Industry Services [Member] | Product Concentration Risk [Member] | Revenue [Member]          
Customer Concentrations          
Percentage of major customers or segments 75.00% 77.00% 72.00% 76.00%  
Power Industry Services [Member] | Customer Concentration Risk [Member] | Revenue [Member]          
Customer Concentrations          
Number of customers 3 2 3 1  
Power Industry Services [Member] | Customer Concentration Risk [Member] | Major Customer One [Member] | Revenue [Member]          
Customer Concentrations          
Percentage of major customers or segments 21.00% 47.00% 19.00% 47.00%  
Power Industry Services [Member] | Customer Concentration Risk [Member] | Major Customer Two [Member] | Revenue [Member]          
Customer Concentrations          
Percentage of major customers or segments 20.00% 10.00% 17.00%    
Power Industry Services [Member] | Customer Concentration Risk [Member] | Major Customer Three [Member] | Revenue [Member]          
Customer Concentrations          
Percentage of major customers or segments 12.00%   11.00%    
Industrial Construction Services | Product Concentration Risk [Member] | Revenue [Member]          
Customer Concentrations          
Percentage of major customers or segments 23.00% 20.00% 26.00% 21.00%  
Industrial Construction Services | Customer Concentration Risk [Member] | Revenue [Member]          
Customer Concentrations          
Number of customers     1    
Industrial Construction Services | Customer Concentration Risk [Member] | Major Customer One [Member] | Revenue [Member]          
Customer Concentrations          
Percentage of major customers or segments     11.00%    
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT REPORTING (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
USD ($)
Jul. 31, 2022
USD ($)
Jul. 31, 2023
USD ($)
segment
Jul. 31, 2022
USD ($)
Jan. 31, 2023
USD ($)
Segment Reporting Information          
Operating segment | segment     1    
Revenues $ 141,349 $ 118,110 $ 245,024 $ 218,387  
Cost of revenues 117,607 93,723 207,058 174,262  
Gross profit 23,742 24,387 37,966 44,125  
Selling, general and administrative expenses 10,501 10,984 21,092 21,559  
Income (loss) from operations 13,241 13,403 16,874 22,566  
Other income (loss), net 4,118 505 3,489 1,100  
Income (loss) before income taxes 17,359 13,908 20,363 23,666  
Income tax expense 4,592 9,686 5,487 11,959  
Net income 12,767 4,222 14,876 11,707  
Amortization of intangibles 98 233 196 399  
Depreciation 488 747 1,035 1,556  
Property, plant and equipment additions 386 400 1,031 638  
Current assets 455,132 378,193 455,132 378,193 $ 438,702
Current liabilities 215,606 142,012 215,606 142,012 202,503
Goodwill 28,033 28,033 28,033 28,033 28,033
Total assets 505,708 423,070 505,708 423,070 $ 489,487
Other [Member]          
Segment Reporting Information          
Selling, general and administrative expenses 2,732 2,433 5,446 4,869  
Income (loss) from operations (2,732) (2,433) (5,446) (4,869)  
Other income (loss), net 514 69 (2,205) 78  
Income (loss) before income taxes (2,218) (2,364) (7,651) (4,791)  
Depreciation 1 1 2 2  
Current assets 86,073 82,717 86,073 82,717  
Current liabilities 1,488 646 1,488 646  
Total assets 89,178 82,992 89,178 82,992  
Power Industry Services [Member] | Operating Segments          
Segment Reporting Information          
Revenues 105,345 91,327 175,521 165,276  
Cost of revenues 87,094 71,225 147,429 130,260  
Gross profit 18,251 20,102 28,092 35,016  
Selling, general and administrative expenses 5,596 6,058 11,310 11,673  
Income (loss) from operations 12,655 14,044 16,782 23,343  
Other income (loss), net 3,607 437 5,697 1,021  
Income (loss) before income taxes 16,262 14,481 22,479 24,364  
Depreciation 128 138 256 280  
Property, plant and equipment additions 148 42 537 94  
Current assets 319,196 258,771 319,196 258,771  
Current liabilities 183,405 124,320 183,405 124,320  
Goodwill 18,476 18,476 18,476 18,476  
Total assets 346,192 282,783 346,192 282,783  
Industrial Construction Services | Operating Segments          
Segment Reporting Information          
Revenues 32,756 23,022 63,063 45,523  
Cost of revenues 28,076 19,551 54,638 38,231  
Gross profit 4,680 3,471 8,425 7,292  
Selling, general and administrative expenses 1,446 1,685 2,906 3,444  
Income (loss) from operations 3,234 1,786 5,519 3,848  
Income (loss) before income taxes 3,234 1,786 5,519 3,848  
Amortization of intangibles 98 165 196 331  
Depreciation 260 508 564 1,052  
Property, plant and equipment additions 220 336 476 487  
Current assets 45,590 31,960 45,590 31,960  
Current liabilities 28,996 15,055 28,996 15,055  
Goodwill 9,467 9,467 9,467 9,467  
Total assets 63,074 49,097 63,074 49,097  
Telecommunications Infrastructure Services [Member] | Operating Segments          
Segment Reporting Information          
Revenues 3,248 3,761 6,440 7,588  
Cost of revenues 2,437 2,947 4,991 5,771  
Gross profit 811 814 1,449 1,817  
Selling, general and administrative expenses 727 808 1,430 1,573  
Income (loss) from operations 84 6 19 244  
Other income (loss), net (3) (1) (3) 1  
Income (loss) before income taxes 81 5 16 245  
Amortization of intangibles   68   68  
Depreciation 99 100 213 222  
Property, plant and equipment additions 18 22 18 57  
Current assets 4,273 4,745 4,273 4,745  
Current liabilities 1,717 1,991 1,717 1,991  
Goodwill 90 90 90 90  
Total assets $ 7,264 $ 8,198 $ 7,264 $ 8,198  
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details) - USD ($)
$ in Thousands
Jul. 31, 2023
Jan. 31, 2023
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION    
Income tax refunds receivable and prepaid income taxes $ 16,895 $ 15,327
Raw materials inventory 12,836 11,903
Prepaid expenses 6,848 4,541
Other 6,859 6,563
Total other current assets $ 43,438 $ 38,334
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details) - USD ($)
$ in Thousands
Jul. 31, 2023
Jan. 31, 2023
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION    
Accrued compensation $ 13,085 $ 18,286
Accrued project costs 43,995 17,448
Lease liabilities 1,535 1,567
Other 9,005 12,566
Total accrued expenses $ 67,620 $ 49,867
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details) - Fraudulently Induced Payment - USD ($)
$ in Millions
6 Months Ended
Mar. 07, 2023
Jul. 31, 2023
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION    
Unrecoverable funds amount $ 3.0  
Professional fees $ 0.2  
Recovered professional fess   $ 0.4
Total amount of fraud loss and professional fee recovered   $ 2.8
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.23.2
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Jul. 31, 2023
Jul. 31, 2022
Pay vs Performance Disclosure        
Net Income (Loss) $ 12,767 $ 4,222 $ 14,876 $ 11,707
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.23.2
Insider Trading Arrangements
3 Months Ended
Jul. 31, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 76 agx-20230731x10q_htm.xml IDEA: XBRL DOCUMENT 0000100591 agx:FraudulentlyInducedPaymentMember 2023-02-01 2023-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2022-05-01 2022-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2022-02-01 2022-07-31 0000100591 us-gaap:CommonStockMember 2022-05-01 2022-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2023-05-01 2023-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2023-02-01 2023-07-31 0000100591 us-gaap:CommonStockMember 2023-05-01 2023-07-31 0000100591 us-gaap:CommonStockMember 2023-02-01 2023-07-31 0000100591 us-gaap:CommonStockMember 2022-02-01 2022-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2023-07-31 0000100591 us-gaap:RetainedEarningsMember 2023-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2023-04-30 0000100591 us-gaap:RetainedEarningsMember 2023-04-30 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-04-30 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-30 0000100591 2023-04-30 0000100591 us-gaap:TreasuryStockCommonMember 2023-01-31 0000100591 us-gaap:RetainedEarningsMember 2023-01-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-01-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-31 0000100591 us-gaap:TreasuryStockCommonMember 2022-07-31 0000100591 us-gaap:RetainedEarningsMember 2022-07-31 0000100591 us-gaap:NoncontrollingInterestMember 2022-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2022-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2022-04-30 0000100591 us-gaap:RetainedEarningsMember 2022-04-30 0000100591 us-gaap:NoncontrollingInterestMember 2022-04-30 0000100591 us-gaap:AdditionalPaidInCapitalMember 2022-04-30 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-30 0000100591 2022-04-30 0000100591 us-gaap:TreasuryStockCommonMember 2022-01-31 0000100591 us-gaap:RetainedEarningsMember 2022-01-31 0000100591 us-gaap:NoncontrollingInterestMember 2022-01-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2022-01-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-31 0000100591 us-gaap:CommonStockMember 2023-07-31 0000100591 us-gaap:CommonStockMember 2023-04-30 0000100591 us-gaap:CommonStockMember 2023-01-31 0000100591 us-gaap:CommonStockMember 2022-07-31 0000100591 us-gaap:CommonStockMember 2022-04-30 0000100591 us-gaap:CommonStockMember 2022-01-31 0000100591 2022-02-01 2023-01-31 0000100591 agx:IncentiveStockOptionsMember agx:StockPlanMember 2023-02-01 2023-07-31 0000100591 us-gaap:RestrictedStockUnitsRSUMember 2023-07-31 0000100591 us-gaap:RestrictedStockUnitsRSUMember 2023-01-31 0000100591 us-gaap:RestrictedStockUnitsRSUMember 2022-07-31 0000100591 us-gaap:EmployeeStockOptionMember 2023-02-01 2023-07-31 0000100591 2023-08-01 2023-07-31 0000100591 country:US 2023-05-01 2023-07-31 0000100591 country:IE 2023-05-01 2023-07-31 0000100591 country:GB 2023-05-01 2023-07-31 0000100591 country:US 2023-02-01 2023-07-31 0000100591 country:IE 2023-02-01 2023-07-31 0000100591 country:GB 2023-02-01 2023-07-31 0000100591 country:US 2022-05-01 2022-07-31 0000100591 country:IE 2022-05-01 2022-07-31 0000100591 country:GB 2022-05-01 2022-07-31 0000100591 country:US 2022-02-01 2022-07-31 0000100591 country:IE 2022-02-01 2022-07-31 0000100591 country:GB 2022-02-01 2022-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-05-01 2023-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-02-01 2023-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-05-01 2022-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-02-01 2022-07-31 0000100591 agx:LettersOfCreditExpireOnMay312024Member us-gaap:RevolvingCreditFacilityMember 2023-03-06 0000100591 us-gaap:LetterOfCreditMember 2023-07-31 0000100591 us-gaap:LetterOfCreditMember 2023-01-31 0000100591 us-gaap:OtherNonoperatingIncomeExpenseMember 2023-05-01 2023-07-31 0000100591 us-gaap:OtherNonoperatingIncomeExpenseMember 2023-02-01 2023-07-31 0000100591 us-gaap:OtherNonoperatingIncomeExpenseMember 2022-05-01 2022-07-31 0000100591 us-gaap:OtherNonoperatingIncomeExpenseMember 2022-02-01 2022-07-31 0000100591 agx:GemmaPowerSystemsMember us-gaap:FinancialGuaranteeMember 2023-07-31 0000100591 agx:RobertsCompanyIncMember 2023-07-31 0000100591 agx:GemmaPowerSystemLlcMember 2023-07-31 0000100591 agx:RobertsCompanyIncMember 2023-01-31 0000100591 agx:GemmaPowerSystemLlcMember 2023-01-31 0000100591 us-gaap:TradeNamesMember 2023-07-31 0000100591 us-gaap:CustomerRelationshipsMember 2023-07-31 0000100591 us-gaap:TradeNamesMember 2023-01-31 0000100591 us-gaap:CustomerRelationshipsMember 2023-01-31 0000100591 us-gaap:RetainedEarningsMember 2023-05-01 2023-07-31 0000100591 us-gaap:RetainedEarningsMember 2023-02-01 2023-07-31 0000100591 us-gaap:RetainedEarningsMember 2022-05-01 2022-07-31 0000100591 us-gaap:RetainedEarningsMember 2022-02-01 2022-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2023-05-01 2023-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2023-02-01 2023-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2022-05-01 2022-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2022-02-01 2022-07-31 0000100591 2021-01-31 0000100591 srt:MinimumMember us-gaap:USTreasuryNotesSecuritiesMember 2023-07-31 0000100591 srt:MaximumMember us-gaap:USTreasuryNotesSecuritiesMember 2023-07-31 0000100591 us-gaap:RevolvingCreditFacilityMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-03-06 2023-03-06 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2023-05-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2023-05-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2023-02-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2023-02-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2022-05-01 2022-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2022-02-01 2022-07-31 0000100591 agx:MajorCustomerTwoMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:MajorCustomerThreeMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:MajorCustomerOneMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:MajorCustomerTwoMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerThreeMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerOneMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerOneMember agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerTwoMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerThreeMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerThreeMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerOneMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerTwoMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-05-01 2022-07-31 0000100591 agx:MajorCustomerOneMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-05-01 2022-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2022-05-01 2022-07-31 0000100591 agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2022-05-01 2022-07-31 0000100591 agx:MajorCustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-02-01 2023-01-31 0000100591 agx:MajorCustomerThreeMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-02-01 2023-01-31 0000100591 agx:MajorCustomerOneMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2022-02-01 2023-01-31 0000100591 agx:MajorCustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-02-01 2023-01-31 0000100591 agx:MajorCustomerOneMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-02-01 2022-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2022-02-01 2022-07-31 0000100591 agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2022-02-01 2022-07-31 0000100591 2023-06-20 2023-06-20 0000100591 2023-04-10 2023-04-10 0000100591 2022-07-31 2022-07-31 0000100591 2023-07-31 2023-07-31 0000100591 2023-04-28 2023-04-28 0000100591 2022-07-29 2022-07-29 0000100591 2022-04-29 2022-04-29 0000100591 us-gaap:EmployeeStockOptionMember 2023-07-31 0000100591 agx:Plan2020Member 2023-06-20 0000100591 agx:Plan2020Member 2020-06-23 0000100591 2022-01-31 0000100591 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MoneyMarketFundsMember 2023-07-31 0000100591 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MoneyMarketFundsMember 2023-01-31 0000100591 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-07-31 0000100591 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-07-31 0000100591 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-01-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2023-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2022-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2022-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2022-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2022-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2023-05-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2023-02-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2022-05-01 2022-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2022-05-01 2022-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2022-02-01 2022-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2022-02-01 2022-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-05-01 2023-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-02-01 2023-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2022-05-01 2022-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2022-02-01 2022-07-31 0000100591 2023-09-01 0000100591 us-gaap:HeldtomaturitySecuritiesMember 2023-07-31 0000100591 us-gaap:HeldtomaturitySecuritiesMember 2023-01-31 0000100591 agx:FraudulentlyInducedPaymentMember 2023-03-07 2023-03-07 0000100591 2023-05-01 2023-07-31 0000100591 2022-05-01 2022-07-31 0000100591 srt:MinimumMember 2023-02-01 2023-07-31 0000100591 srt:MaximumMember 2023-02-01 2023-07-31 0000100591 2022-07-31 0000100591 us-gaap:RestrictedStockUnitsRSUMember 2023-02-01 2023-07-31 0000100591 srt:ExecutiveOfficerMember agx:PerformanceBasedRestrictedStockUnitsMember agx:StockPlanMember 2023-02-01 2023-07-31 0000100591 agx:TimeBasedRestrictedStockUnitsMember 2023-07-31 0000100591 agx:RenewablePerformanceBasedRestrictedStockUnitsMember 2023-07-31 0000100591 agx:PerformanceBasedRestrictedStockUnitsMember 2023-07-31 0000100591 agx:EarningsPerSharePerformanceBasedRestrictedStockUnitsMember 2023-07-31 0000100591 agx:TimeBasedRestrictedStockUnitsMember 2022-07-31 0000100591 agx:RenewablePerformanceBasedRestrictedStockUnitsMember 2022-07-31 0000100591 agx:PerformanceBasedRestrictedStockUnitsMember 2022-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-05-01 2022-07-31 0000100591 us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2022-02-01 2023-01-31 0000100591 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-02-01 2023-01-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-02-01 2022-07-31 0000100591 us-gaap:RevolvingCreditFacilityMember 2023-03-06 2023-03-06 0000100591 us-gaap:HeldtomaturitySecuritiesMember 2023-02-01 2023-07-31 0000100591 us-gaap:HeldtomaturitySecuritiesMember 2022-02-01 2023-01-31 0000100591 2022-02-01 2022-07-31 0000100591 2020-01-31 0000100591 us-gaap:USTreasuryNotesSecuritiesMember 2023-07-31 0000100591 2023-02-01 2023-07-31 0000100591 2023-07-31 0000100591 2023-01-31 iso4217:USD agx:customer shares pure iso4217:USD shares agx:segment 0000100591 --01-31 2024 Q2 false ARGAN INC 0 0 0.25 0.25 15828289 P2Y http://fasb.org/us-gaap/2023#Investments http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2023#LiabilitiesNoncurrent P9M P24M 0.3333 P3Y P3Y 0.25 0.25 10-Q true 2023-07-31 false 001-31756 DE 13-1947195 One Church Street, Suite 201 Rockville MD 20850 301 315-0027 Yes Yes Accelerated Filer false false false Common Stock, $0.15 par value AGX NYSE 13318653 141349000 118110000 245024000 218387000 117607000 93723000 207058000 174262000 23742000 24387000 37966000 44125000 10501000 10984000 21092000 21559000 13241000 13403000 16874000 22566000 4118000 505000 3489000 1100000 17359000 13908000 20363000 23666000 4592000 9686000 5487000 11959000 12767000 4222000 14876000 11707000 -185000 -687000 255000 -1951000 -683000 -720000 11899000 3535000 14411000 9756000 0.95 0.30 1.11 0.81 0.94 0.30 1.10 0.80 13403000 14134000 13408000 14516000 13542000 14247000 13544000 14616000 0.25 0.25 0.50 0.50 204799000 173947000 141616000 151511000 44532000 50132000 20747000 24778000 43438000 38334000 455132000 438702000 10457000 10430000 28033000 28033000 2413000 2609000 3910000 3689000 5763000 6024000 505708000 489487000 31530000 56375000 67620000 49867000 116456000 96261000 215606000 202503000 5066000 6087000 220672000 208590000 0.10 0.10 500000 500000 0 0 0.15 0.15 30000000 30000000 15828289 13353653 13441590 2374000 2374000 162323000 162208000 216009000 207832000 2474636 2386699 92329000 88641000 -3341000 -2876000 285036000 280897000 505708000 489487000 13414404 2374000 161347000 206584000 -89883000 -2473000 277949000 12767000 12767000 -185000 -185000 -683000 -683000 1184000 1184000 16381 -208000 611000 403000 77132 3057000 3057000 3342000 3342000 13353653 2374000 162323000 216009000 -92329000 -3341000 285036000 14585908 2374000 159170000 192463000 -47482000 -3715000 -797000 302013000 4222000 4222000 -687000 -687000 1059000 1059000 701713 26091000 26091000 3480000 3480000 13884195 2374000 160229000 193205000 -73573000 -4402000 -797000 277036000 13441590 2374000 162208000 207832000 -88641000 -2876000 280897000 14876000 14876000 255000 255000 -720000 -720000 2218000 2218000 81851 -2103000 3050000 947000 169788 6738000 6738000 6699000 6699000 13353653 2374000 162323000 216009000 -92329000 -3341000 285036000 15257688 2368000 158190000 188690000 -20405000 -2451000 -797000 325595000 11707000 11707000 -1951000 -1951000 1979000 1979000 39099 6000 60000 66000 1412592 53168000 53168000 7192000 7192000 13884195 2374000 160229000 193205000 -73573000 -4402000 -797000 277036000 14876000 11707000 2218000 1979000 1035000 1556000 884000 1319000 341000 617000 -196000 373000 196000 399000 -98000 1070000 -64000 -8000 -5600000 -2090000 -4031000 3774000 5176000 -9252000 -8931000 -16124000 20195000 -63874000 34553000 -56776000 90000000 175000000 159750000 90000000 60261000 1031000 638000 8458000 -85638000 6738000 53168000 6699000 7192000 947000 66000 -12490000 -60294000 331000 -4420000 30852000 -207128000 173947000 350472000 204799000 143344000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 1 – DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Description of the Business</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.” </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The wide range of customers includes primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with customer projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Basis of Presentation and Significant Accounting Policies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The condensed consolidated financial statements include the accounts of Argan, its wholly-owned subsidiaries and a variable interest entity (“VIE”) prior to its deconsolidation in the fourth quarter of the year ended January 31, 2023. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 14, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2023, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended July 31, 2023 and 2022 are unaudited. The condensed consolidated balance sheet as of January 31, 2023 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (“Fiscal 2023”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2023, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">In March 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-02, <i style="font-style:italic;">Investments—Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method </i>(“ASU 2023-02”), which provides an election to account for tax equity investments using the proportional amortization method, if certain conditions are met. Under the proportional amortization method, the initial cost of an investment is amortized in proportion to the amount of the tax credits and other tax benefits received and presented net as a component of income tax expense. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within those fiscal years. The Company’s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method under this guidance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Available-For-Sale Securities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">At each balance sheet date, available-for-sale (“AFS”) securities are recorded at fair value, with unrealized gains and losses, net of income taxes, reported as a component of accumulated other comprehensive loss. Interest income, accretion of discounts, amortization of premiums, realized gains and losses are included in other income or expense, as applicable, in the Company’s condensed consolidated statement of earnings. The Company determines the cost of securities sold based on the specific identification method. The Company determines the appropriate classification of AFS securities based on whether they represent the investment of cash available for current operations, as defined in Accounting Standards Codification (“ASC”) 210-10-45-1 and ASC 210-10-45-2. The classification of the AFS securities is reevaluated at each balance sheet date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company evaluates whether a decline in the fair value of AFS securities below amortized cost basis is credit-related or due to other factors. If the Company intends to sell the AFS security or it is more likely than not the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security’s amortized cost basis. If a portion of the unrealized loss is credit-related, the impairment is recorded as an allowance on the balance sheet with a corresponding adjustment to earnings. Credit recovery is recorded as an adjustment to the allowance and earnings in the period in which credit conditions improve. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Fair Values</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">ASC Topic 820<i style="font-style:italic;">, Fair Value Measurement</i>, establishes a fair value hierarchy that requires an entity to maximize the use of observable inputs and to minimize the use of unobservable inputs when measuring fair value. Fair value is the price that would be received to sell an asset or paid to transfer a liability in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The fair value hierarchy prioritizes the inputs into three levels that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:41.05pt;text-align:justify;text-indent:-41.05pt;margin:0pt 0pt 0pt 36pt;">Level 1 – Inputs are unadjusted quoted prices in active markets for identical assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:41.05pt;text-align:justify;text-indent:-41.05pt;margin:0pt 0pt 0pt 36pt;">Level 2 – Inputs are quoted prices for similar assets or liabilities in active markets; or quoted prices for identical or similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:41.05pt;text-align:justify;text-indent:-41.05pt;margin:0pt 0pt 8pt 36pt;">Level 3 – Inputs are unobservable inputs based on a company’s own assumptions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">At July 31, 2023 and January 31, 2023, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments. The money market fund was classified as Level 1 due to the short-term nature of these instruments and as their fair value is based on quoted prices in active markets for identical assets. As of July 31, 2023, all of the Company’s available-for-sale securities were U.S. Treasury notes and were classified as Level 2, as their fair value is measured based on quoted prices in active markets for similar assets.  As of July 31, 2023 and January 31, 2023, the Company did not have any financial assets measured on a recurring basis using Level 3 inputs. The carrying value amounts presented in the condensed consolidated balance sheets for the Company’s other current assets, including cash, certificates of deposit (“CDs”), accounts receivable and contract assets, and its current liabilities are reasonable estimates of their fair values due to the short-term nature of these items.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The following table shows the Company’s financial instruments as of July 31, 2023 and January 31, 2023 that are measured and recorded at fair value on a recurring basis:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:32.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Money market fund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Treasury Stock</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Treasury stock is recorded using the cost method. Incremental direct costs to purchase treasury stock, including excise tax, are included in the cost of the shares acquired. The Company uses the average cost method to account for treasury stock. For treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For treasury stock provided for settlements or sold at a price lower than its cost, the loss is recorded to additional paid-in capital to the extent there are previous net gains included in additional paid-in capital. Any losses in excess of that amount are recorded to retained earnings. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Description of the Business</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.” </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The wide range of customers includes primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with customer projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Basis of Presentation and Significant Accounting Policies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The condensed consolidated financial statements include the accounts of Argan, its wholly-owned subsidiaries and a variable interest entity (“VIE”) prior to its deconsolidation in the fourth quarter of the year ended January 31, 2023. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 14, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2023, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended July 31, 2023 and 2022 are unaudited. The condensed consolidated balance sheet as of January 31, 2023 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (“Fiscal 2023”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2023, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">In March 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-02, <i style="font-style:italic;">Investments—Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method </i>(“ASU 2023-02”), which provides an election to account for tax equity investments using the proportional amortization method, if certain conditions are met. Under the proportional amortization method, the initial cost of an investment is amortized in proportion to the amount of the tax credits and other tax benefits received and presented net as a component of income tax expense. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within those fiscal years. The Company’s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method under this guidance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Available-For-Sale Securities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">At each balance sheet date, available-for-sale (“AFS”) securities are recorded at fair value, with unrealized gains and losses, net of income taxes, reported as a component of accumulated other comprehensive loss. Interest income, accretion of discounts, amortization of premiums, realized gains and losses are included in other income or expense, as applicable, in the Company’s condensed consolidated statement of earnings. The Company determines the cost of securities sold based on the specific identification method. The Company determines the appropriate classification of AFS securities based on whether they represent the investment of cash available for current operations, as defined in Accounting Standards Codification (“ASC”) 210-10-45-1 and ASC 210-10-45-2. The classification of the AFS securities is reevaluated at each balance sheet date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company evaluates whether a decline in the fair value of AFS securities below amortized cost basis is credit-related or due to other factors. If the Company intends to sell the AFS security or it is more likely than not the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security’s amortized cost basis. If a portion of the unrealized loss is credit-related, the impairment is recorded as an allowance on the balance sheet with a corresponding adjustment to earnings. Credit recovery is recorded as an adjustment to the allowance and earnings in the period in which credit conditions improve. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Fair Values</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">ASC Topic 820<i style="font-style:italic;">, Fair Value Measurement</i>, establishes a fair value hierarchy that requires an entity to maximize the use of observable inputs and to minimize the use of unobservable inputs when measuring fair value. Fair value is the price that would be received to sell an asset or paid to transfer a liability in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The fair value hierarchy prioritizes the inputs into three levels that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:41.05pt;text-align:justify;text-indent:-41.05pt;margin:0pt 0pt 0pt 36pt;">Level 1 – Inputs are unadjusted quoted prices in active markets for identical assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:41.05pt;text-align:justify;text-indent:-41.05pt;margin:0pt 0pt 0pt 36pt;">Level 2 – Inputs are quoted prices for similar assets or liabilities in active markets; or quoted prices for identical or similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:41.05pt;text-align:justify;text-indent:-41.05pt;margin:0pt 0pt 8pt 36pt;">Level 3 – Inputs are unobservable inputs based on a company’s own assumptions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">At July 31, 2023 and January 31, 2023, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments. The money market fund was classified as Level 1 due to the short-term nature of these instruments and as their fair value is based on quoted prices in active markets for identical assets. As of July 31, 2023, all of the Company’s available-for-sale securities were U.S. Treasury notes and were classified as Level 2, as their fair value is measured based on quoted prices in active markets for similar assets.  As of July 31, 2023 and January 31, 2023, the Company did not have any financial assets measured on a recurring basis using Level 3 inputs. The carrying value amounts presented in the condensed consolidated balance sheets for the Company’s other current assets, including cash, certificates of deposit (“CDs”), accounts receivable and contract assets, and its current liabilities are reasonable estimates of their fair values due to the short-term nature of these items.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The following table shows the Company’s financial instruments as of July 31, 2023 and January 31, 2023 that are measured and recorded at fair value on a recurring basis:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:32.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Money market fund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:32.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Money market fund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table> 127064000 68647000 59992000 127064000 59992000 68647000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Treasury Stock</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Treasury stock is recorded using the cost method. Incremental direct costs to purchase treasury stock, including excise tax, are included in the cost of the shares acquired. The Company uses the average cost method to account for treasury stock. For treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For treasury stock provided for settlements or sold at a price lower than its cost, the loss is recorded to additional paid-in capital to the extent there are previous net gains included in additional paid-in capital. Any losses in excess of that amount are recorded to retained earnings. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 2 – REVENUES FROM CONTRACTS WITH CUSTOMERS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s accounting for revenues on contracts with customers is based on a single comprehensive five-step model that requires reporting entities to:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">1.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Identify the contract,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">2.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Identify the performance obligations of the contract,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">3.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Determine the transaction price of the contract,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">4.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Allocate the transaction price to the performance obligations, and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">5.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Recognize revenue.</span></td></tr></table><div style="margin-top:8pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company focuses on the transfer of the contractor’s control of the goods and/or services to the customer. When a performance obligation is satisfied over time, the related revenues are recognized over time. The Company’s revenues are recognized primarily under various types of long-term construction contracts, including those for which revenues are based on either a fixed-price or a time-and-materials basis, and primarily over time as performance obligations are satisfied due to the continuous transfer of control to the project owner or other customer. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Revenues from fixed-price contracts, including portions of estimated gross profit, are recognized as services are provided, based on costs incurred and estimated total contract costs using the cost-to-cost approach. If, at any time, the estimate of contract profitability indicates an anticipated loss on a contract, the Company will recognize the total loss in the reporting period in which it is identified and the loss amount becomes estimable. Revenues from time-and-materials contracts are recognized when the related services are provided to the customer. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Predominantly all of the Company’s fixed-price contracts are considered to have a single performance obligation. Although multiple promises to transfer individual goods or services may exist, they are not typically distinct within the context of such contracts because contract promises included therein are interrelated or the contracts require the Company to perform critical integration so that the customer receives a completed project. Warranties provided under the Company’s contracts with customers are assurance-type primarily and are recorded as the corresponding contract work is performed. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The transaction price for a customer contract represents the value of the contract awarded to the Company that is used to determine the amount of revenues recognized as of the balance sheet date. It may reflect amounts of variable consideration which could be either increases or decreases to the transaction price. These adjustments can be made from time-to-time during the period of contract performance as circumstances evolve related to such items as changes in the scope and price of contracts, claims, incentives and liquidated damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Company’s timing of revenue recognition may not be consistent with its rights to bill and collect cash from project owners and other customers. Most contracts require payments as the corresponding work progresses that are determined in the manner described therein. Those rights are generally dependent upon advance billing terms, milestone billings based </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">on the completion of certain phases of work or when services are performed. On most of the Company’s large contracts, milestone billings that occur early in the corresponding contract terms typically are made in advance of certain significant and related costs being incurred. This results in typically larger contract liability balances early in contract lives that decline over the terms of the corresponding contracts. During the six months ended July 31, 2023 and 2022, there were no unusual or one-time adjustments to contract liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The balances of the Company’s accounts receivable represent amounts billed to customers that have yet to be collected and represent an unconditional right to receive cash from its customers. Contract assets include amounts that represent the rights to receive payment for goods or services that have been transferred to the customer, with the rights conditional upon something other than the passage of time. Contract liabilities include amounts that reflect obligations to provide goods or services for which payment has been received. The amounts of revenues recognized during the six months ended July 31, 2023 and 2022, that were included in the balances of contract liabilities as of January 31, 2023 and 2022, respectively, were approximately $87.0 million and $127.6 million, respectively. The amounts of revenues recognized during the three months ended July 31, 2023 and 2022 that were included in the balances of contract liabilities as of April 30, 2023 and 2022, respectively, were approximately $64.7 million and $83.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Contract retentions are billed amounts which, pursuant to the terms of the applicable contract, are not paid by customers until a defined phase of a contract or project has been completed and accepted. These retained amounts are reflected in contract assets or contract liabilities depending on the net contract position of the particular contract. Retention amounts and the length of retention periods may vary. Retainage amounts related to active contracts are considered current regardless of the term of the applicable contract; such amounts are generally collected by the completion of the applicable contract. The amounts retained by project owners and other customers under construction contracts at July 31, 2023 and January 31, 2023 were $28.1 million and $49.1 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Variable Consideration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Amounts for unapproved change orders for which the Company has project-owner directive for additional work or other scope change, but not for the price associated with the corresponding additional effort, are included in the transaction price when it is considered probable that the applicable costs will be recovered through a modification to the contract price. The effects of any revision to a transaction price can be determined at any time and they could be material. The Company also includes in the corresponding transaction price an estimate of the amount that it expects to receive from a claim based on management’s judgment regarding all reasonably available information. Once a final amount has been determined, the transaction price may be revised again to reflect the final resolution. At July 31, 2023 and January 31, 2023, the aggregate amounts of such unapproved change orders included in the transaction prices that were still pending customer approval were $12.8 million and $11.6 million, respectively. Variations related to the Company’s contracts typically represent modifications to the existing contracts and performance obligations and do not represent new performance obligations. Actual costs related to any changes in the scope of the corresponding contract are expensed as they are incurred. Changes to total estimated contract costs and losses, if any, are reflected in operating results for the period in which they are determined.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s long-term contracts typically have schedule dates and other performance objectives that if not achieved could subject the Company to liquidated damages. These contract requirements generally relate to specified activities that must be completed by an established date or by the achievement of a specified level of output or efficiency. Each applicable contract defines the conditions under which a project owner may be entitled to any liquidated damages. At the outset of each of the Company’s contracts, the potential amounts of liquidated damages typically are not subtracted from the transaction price as the Company believes that it has included activities in its contract plan, and the associated forecasted contract costs, that will be effective in preventing such damages. Of course, circumstances may change as the Company executes the corresponding contract. The transaction price is reduced by an applicable amount when the Company no longer considers it probable that a future reversal of revenues will not occur when the matter is resolved. The Company considers potential liquidated damages, the costs of other related items and potential mitigating factors in determining the adequacy of its regularly updated estimates of the amounts of gross profit expected to be earned on active projects. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In other cases, the Company may have the grounds to assert liquidated damages against subcontractors, suppliers, project owners or other parties related to a project. Such circumstances may arise when the Company’s activities and progress are adversely affected by delayed or damaged materials, challenges with equipment performance or other events out of the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Company’s control where the Company has rights to recourse, typically in the form of liquidated damages. In general, the Company does not adjust the corresponding contract accounting until it is probable that the favorable cost relief will be realized. Such adjustments have been and could be material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company records adjustments to revenues and profits on contracts, including those associated with contract variations and estimated cost changes, using a cumulative catch-up method. Under this method, the impact of an adjustment to the amount of revenues recognized to date is recorded in the period that the adjustment is identified. Estimated variable consideration amounts are determined by the Company based primarily on the single most likely amount in the range of possible consideration amounts. Revenues and profits in future periods of contract performance are recognized using the adjusted amounts of transaction price and estimated contract costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Remaining Unsatisfied Performance Obligations (“RUPO”)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Substantially all of the Company’s customer contracts include the right for customers to terminate contracts for convenience. The value of future work the Company is contractually obligated to perform pursuant to active customer contracts should not be included in the disclosure of RUPO when the corresponding contracts include termination for convenience clauses without substantial penalties accruing to the customers upon such terminations. Management assesses whether the nature of the work being performed under contract is largely service-based and repetitive and should be considered a succession of one-month contracts for the duration of the identified term of the contract. Predominantly, the Company’s customers contract with the Company to construct assets, to fabricate materials or to perform emergency maintenance or outage services where management believes substantial penalties or costs would be incurred upon a termination for convenience including the costs of terminating subcontracts, canceling purchase orders and returning or otherwise disposing of delivered materials and equipment. The value of RUPO on customer contracts represents amounts based on contracts or orders received from customers that the Company believes are firm and where the parties are acting in accordance with their respective obligations. The cancellation or termination of contracts for the convenience of customers has not had a material adverse effect on our consolidated financial statements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">At July 31, 2023, the Company had RUPO of $0.7 billion. The largest portion of RUPO at any date usually relates to engineering, procurement and construction (“EPC”) service and other construction contracts with typical performance durations of one to three years. However, the length of certain significant construction projects may exceed three years. The Company estimates that approximately 37% of the RUPO amount at July 31, 2023 will be included in the amount of consolidated revenues that will be recognized during the remainder of the fiscal year ending January 31, 2024 (“Fiscal 2024”). Most of the remaining amount of the RUPO amount at July 31, 2023 is expected to be recognized in revenues during the fiscal years ending January 31, 2025 and January 31, 2026. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">It is important to note that estimates may be changed in the future and that cancellations, deferrals, or scope adjustments may occur related to work included in the amount of RUPO at July 31, 2023. Accordingly, RUPO may be adjusted to reflect project delays and cancellations, revisions to project scope and cost and foreign currency exchange fluctuations, or to revise estimates, as effects become known. Such adjustments to RUPO may materially reduce future revenues below Company estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Disaggregation of Revenues</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The following table presents consolidated revenues for the three and six months ended July 31, 2023 and 2022, disaggregated by the geographic area where the corresponding projects were located:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,949</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 174,221</p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Republic of Ireland</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,075</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,186</p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,980</p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Consolidated Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,110</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 218,387</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 0pt 0pt;">The major portions of the Company’s consolidated revenues are recognized pursuant to fixed-price contracts with most of the remaining portions earned pursuant to time-and-material contracts. Consolidated revenues are disaggregated by reportable segment in Note 14 to the condensed consolidated financial statements.</p> 87000000.0 127600000 64700000 83200000 28100000 49100000 12800000 11600000 700000000 P3Y 0.37 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,949</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 174,221</p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Republic of Ireland</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,075</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,186</p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,980</p></td></tr><tr><td style="vertical-align:bottom;width:44.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Consolidated Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,110</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 218,387</p></td></tr></table> 80281000 93949000 147800000 174221000 48075000 15532000 70656000 25186000 12993000 8629000 26568000 18980000 141349000 118110000 245024000 218387000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 3 – CASH, CASH EQUIVALENTS AND INVESTMENTS </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Cash and Cash Equivalents</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;">The Company considers all liquid investments with original maturities of three months or less at the time of purchase to be cash equivalents. At July 31, 2023 and January 31, 2023, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments. Such investments include U.S. Treasury obligations; obligations of U.S. government agencies, authorities, instrumentalities or sponsored enterprises; and repurchase agreements secured by U.S. government obligations. Dividend income related to money market investments is recorded when earned. The balances of accrued dividends at July 31, 2023 and January 31, 2023 were $0.6 million and $0.3 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Investments</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;">The Company’s investments consisted of the following as of July 31, 2023 and January 31, 2023:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Short-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81,624</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 151,511</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 59,992</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:72.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Total investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 141,616</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 151,511</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Short-Term Investments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;">Short-term investments as of July 31, 2023 and January 31, 2023 consisted solely of CDs with weighted average maturities of one year or less purchased from Bank of America, N.A. (the “Bank”). The Company has the intent and ability to hold the CDs until they mature, and they are carried at cost plus accrued interest. Interest income is recorded when earned and is included in other income. At July 31, 2023 and January 31, 2023, the weighted average annual interest rates of the outstanding CDs were 5.3% and 2.5%, respectively. The balances of accrued interest on the CDs at July 31, 2023 and January 31, 2023 were $1.6 million and $1.8 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Available-For-Sale Securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">AFS securities as of July 31, 2023 consisted solely of U.S. Treasury notes with original maturities of <span style="-sec-ix-hidden:Hidden_kIfQpgrfi0OuhsAt0bR15A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span></span> and three years. The Company’s AFS securities consisted of the following amounts of amortized cost, allowance for credit losses, gross unrealized gains and losses and estimated fair value by contractual maturity as of July 31, 2023:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:57.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Allowance for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Credit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gains</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">U.S. Treasury notes:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Due in one to two years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,886</p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Due in two to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,106</p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,992</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;">As of July 31, 2023, interest receivable in the amount of $0.6 million is <span style="-sec-ix-hidden:Hidden_COnG2tPs9kua8yPkGpCB0Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">included</span></span> in the balance of AFS securities. For the three and six months ended July 31, 2023, the change in net unrealized holding losses for the Company’s AFS securities reported in other comprehensive income was approximately $0.7 million for both periods. For the three and six months ended July 31, 2023, there were no sales of the Company’s AFS securities, and therefore, there were no amounts of gains or losses reclassified out of other comprehensive income into net income. The Company does not believe the unrealized losses represent credit losses based on the evaluation of evidence as of July 31, 2023, which includes an assessment of whether it is more likely than not the Company will be required to sell or intends to sell the investment before recovery of the investment’s amortized cost basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Concentration Risk</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Company has a substantial portion of its cash on deposit in the U.S. with the Bank and invested in a money market fund. The Company also maintains certain Euro-based bank accounts in Ireland and certain pound sterling-based bank accounts in the U.K. in support of the operations of APC. Management does not believe that the combined amount of the CDs and the cash deposited with the Bank, cash invested in the money market fund, and cash balances maintained at financial institutions in Ireland and the U.K., in excess of government-insured levels, represent material risks.</p> 600000 300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Short-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81,624</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 151,511</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 59,992</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:72.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Total investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 141,616</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 151,511</span></p></td></tr></table> 81624000 151511000 59992000 141616000 151511000 P1Y P1Y 0.053 0.025 1600000 1800000 P3Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:57.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Allowance for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Credit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gains</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">U.S. Treasury notes:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Due in one to two years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,886</p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Due in two to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,106</p></td></tr><tr><td style="vertical-align:bottom;width:40.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,992</p></td></tr></table> 25162000 276000 24886000 35550000 444000 35106000 60712000 720000 59992000 600000 700000 700000 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 4 – ACCOUNTS RECEIVABLE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company generally extends credit to a customer based on an evaluation of the customer’s financial condition, without requiring tangible collateral. Customer payments on other construction, fabrication and field service contracts are generally due within 30 to 60 days of billing, depending on the negotiated terms of the corresponding contract. Exposure to losses on accounts and notes receivable is expected to differ due to the varying financial condition of each customer. The Company monitors its exposure to credit losses and may establish an allowance for credit losses based on management’s estimate of the loss that is expected to occur over the remaining life of the particular financial asset. The amounts of the provision for credit losses for the three and six months ended July 31, 2023 and 2022 were insignificant. The allowance for credit losses at July 31, 2023 and January 31, 2023 was $1.8 million and $1.9 million, respectively. </p> 1800000 1900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 5 – INTANGIBLE ASSETS </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">At both July 31, 2023 and January 31, 2023, the goodwill balances related primarily to the GPS and TRC reporting units, and were $18.5 million and $9.5 million, respectively. Management does not believe that any events or circumstances occurred or arose since January 31, 2023, that required an updated assessment of the goodwill balances of either the GPS or TRC reporting units. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s intangible assets, other than goodwill, relate primarily to the industrial construction services segment and consisted of the following as of July 31, 2023 and January 31, 2023:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:7.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:26.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:26.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Trade names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;">15 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,199</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,150</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,349</p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;">10 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 260</p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,609</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 18500000 18500000 9500000 9500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:7.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:26.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:26.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Trade names</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;">15 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,199</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,150</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,349</p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;">10 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 260</p></td></tr><tr><td style="vertical-align:bottom;width:34.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,609</p></td></tr></table> P15Y 4499000 2300000 2199000 4499000 2150000 2349000 P10Y 916000 702000 214000 916000 656000 260000 5415000 3002000 2413000 5415000 2806000 2609000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"><span style="font-weight:bold;margin-bottom:0pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 6 – FINANCING ARRANGEMENTS </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">During April 2021, the Company amended its Amended and Restated Replacement Credit Agreement with the Bank (the “Credit Agreement”) which extended the expiration date of the Credit Agreement to May 31, 2024 and reduced the borrowing rate. On March 6, 2023, the Company entered into the Second Amendment (the “Second Amendment”) to the Credit Agreement. The Second Amendment modified the Credit Amendment, primarily, to replace the interest pricing with the Secured Overnight Financing Rate (“SOFR”) plus 1.6% and to add SOFR successor rate language. The Credit Agreement, as amended, includes the following features, among others: a lending commitment of $50.0 million including a revolving loan and an accordion feature which allows for an additional commitment amount of $10.0 million, subject to certain conditions. The Company may also use the borrowing ability to cover other credit instruments issued by the Bank for the Company’s use in the ordinary course of business as defined in the Credit Agreement. Additionally, the Credit Agreement, as amended, continues to include customary terms, covenants and events of default for a credit facility of its size and nature. The Company intends to renew the Credit Agreement prior to its expiration date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">At July 31, 2023 and January 31, 2023, the Company did not have any borrowings outstanding under the Credit Agreement. However, the Bank has issued letters of credit in the total outstanding amount of $9.4 million at July 31, 2023, in support of the activities of APC under existing customer contracts. The comparable outstanding total amount of letters of credit at January 31, 2023 was $8.8 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Company has pledged the majority of its assets to secure its financing arrangements. The Bank’s consent is not required for acquisitions, divestitures, cash dividends or significant investments as long as certain conditions are met. The Credit Agreement requires that the Company comply with certain financial covenants at its fiscal year-end and at each fiscal quarter-end. The Credit Agreement, as amended, includes other terms, covenants and events of default that are customary for a credit facility of its size and nature, including a requirement to achieve positive adjusted earnings before interest, taxes, depreciation and amortization, as defined, over each rolling twelve-month measurement period. As of July 31, 2023 and January 31, 2023, the Company was in compliance with the covenants of the Credit Agreement, as amended.</p> 0.016 50000000.0 10000000.0 9400000 8800000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 7 – COMMITMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Leases</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s leases are primarily operating leases that cover office space, expiring on various dates through December 2031, and certain equipment used by the Company in the performance of its construction services contracts. Some of these equipment leases may be embedded in broader agreements with subcontractors or construction equipment suppliers. The Company has no material finance leases. None of the operating leases includes significant amounts for incentives, rent holidays or price escalations. Under certain leases, the Company is obligated to pay property taxes, insurance, and maintenance costs. For leases that contain both lease and non-lease components, fixed and variable payments are allocated to each component relative to observable or estimated standalone prices.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Operating lease right-of-use assets and associated lease liabilities are recorded in the balance sheet at the lease commencement date based on the present value of future minimum lease payments to be made over the expected lease term. As the implicit rate is not determinable in most of the Company’s leases, management uses the Company’s incremental borrowing rate at the commencement date in determining the present value of future payments. The expected lease term includes any option to extend or to terminate the lease when it is reasonably certain the Company will exercise such option. Right-of-use assets at July 31, 2023 and January 31, 2023, were $4.5 million and $4.8 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Operating lease expense amounts are recorded on a straight-line basis over the expected lease terms. Operating lease expenses for the three and six months ended July 31, 2023 were $0.4 million and $0.9 million, respectively, and they were $0.5 million and $1.3 million for the three and six months ended July 31, 2022, respectively. Operating lease payments for the three and six months ended July 31, 2023 were $0.4 million and $0.9 million, respectively, and they were $0.5 million and $1.3 million for the three and six months ended July 31, 2022, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;">The following is a schedule of future minimum lease payments for the operating leases that were recognized in the condensed consolidated balance sheet as of July 31, 2023:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td colspan="4" style="vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ending January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2024 (remainder)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 879</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,470</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,194</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 817</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,857</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Less imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 297</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Present value of lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,560</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="-sec-ix-hidden:Hidden_vFL35surO0-IFmmLKU3BZA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Less current portion (included in accrued expenses)</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,535</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="-sec-ix-hidden:Hidden_QQF1rUY8RkGDqjd3qPCD9A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Noncurrent portion (included in noncurrent liabilities) </span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,025</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">For operating leases as of July 31, 2023, the weighted average lease term and weighted average discount rate were 53 months and 3.8%, respectively. For operating leases as of January 31, 2023, the weighted average lease term and weighted average discount rate were 58 months and 3.7%, respectively. The aggregate amounts of operating lease right-of-use assets added in exchange for lease obligations during the six months ended July 31, 2023 and 2022 were $0.7 million and $0.5 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company also uses equipment and occupies other facilities under short-term rental agreements. The Company classifies as short-term leases any lease with an initial noncancellable term of twelve months or less that does not include an option to purchase the underlying asset that the Company is reasonably certain to exercise. Rent expense amounts incurred under short-term rentals during the three and six months ended July 31, 2023 were $3.1 million and $6.8 million, respectively, and they were $3.0 million and $5.3 million for the three and six months ended July 31, 2022, respectively. Right-of-use assets and lease liabilities related to short-term leases are excluded from the consolidated balance sheets. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Performance Bonds and Guarantees</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">In the normal course of business and for certain major projects, the Company may be required to obtain surety or performance bonding, to cause the issuance of letters of credit, or to provide parent company guarantees (or some combination thereof) in order to provide performance assurances to clients on behalf of its contractor subsidiaries. As these subsidiaries are wholly-owned, any actual liability is ordinarily reflected in the financial statement account balances determined pursuant to the Company’s accounting for contracts with customers. When sufficient information about claims on guaranteed or bonded projects would be available and monetary damages or other costs or losses would be determined to be probable, the Company would record such losses. Any such amounts that may be required to be paid in excess of the estimated costs to complete contracts in progress as of July 31, 2023 are not estimable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">As of July 31, 2023 and January 31, 2023, the estimated amounts of the Company’s unsatisfied bonded performance obligations, covering all of its subsidiaries, were approximately $0.5 billion and $0.6 billion, respectively. As of July 31, 2023 and January 31, 2023, the outstanding amount of bonds covering other risks, including warranty obligations related to completed activities, was not material. Not all of our projects require bonding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company also provided a financial guarantee, subject to certain terms and conditions, in the amount of $3.6 million in support of business development efforts. A liability was established for the estimated loss related to this guarantee during the year ended January 31, 2022 (“Fiscal 2022”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Warranties</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company generally provides assurance-type warranties for work performed under its construction contracts. The warranties cover defects in equipment, materials, design or workmanship, and most warranty periods typically run from <span style="-sec-ix-hidden:Hidden_L_YRzDfUvEKkGnmI_-0Crg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">nine</span></span> to <span style="-sec-ix-hidden:Hidden_k6icEpcOoke_oDykElyKQA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">twenty-four months</span></span> after the completion of construction on a particular project. Because of the nature of the Company’s projects, including project owner inspections of the work both during construction and prior to substantial completion, the Company has not experienced material unexpected warranty costs in the past. Warranty costs are estimated based on experience with the type of work and any known risks relative to each completed project. The accruals of liabilities, which are established to cover estimated future warranty costs, are recorded as the contracted work is performed, and they are included in the amounts of accrued expenses in the condensed consolidated balances sheets. The liability amounts may be periodically adjusted to reflect changes in the estimated size and number of expected warranty claims.</p> true true 4500000 4800000 400000 900000 500000 1300000 400000 900000 500000 1300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td colspan="4" style="vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ending January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2024 (remainder)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 879</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,470</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,194</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 817</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,857</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Less imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 297</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Present value of lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,560</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="-sec-ix-hidden:Hidden_vFL35surO0-IFmmLKU3BZA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Less current portion (included in accrued expenses)</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,535</p></td></tr><tr><td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="-sec-ix-hidden:Hidden_QQF1rUY8RkGDqjd3qPCD9A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Noncurrent portion (included in noncurrent liabilities) </span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,025</p></td></tr></table> 879000 1470000 1194000 276000 221000 817000 4857000 297000 4560000 1535000 3025000 P53M 0.038 P58M 0.037 700000 500000 3100000 6800000 3000000.0 5300000 500000000 600000000 3600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 8 – LEGAL CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">In the normal course of business, the Company may have pending claims and legal proceedings. In the opinion of management, based on information available at this time, there are no current claims and proceedings that are expected to have a material adverse effect on the condensed consolidated financial statements as of July 31, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 9 – STOCK-BASED COMPENSATION </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">On June 23, 2020, the Company’s stockholders approved the adoption of the 2020 Stock Plan (the “2020 Plan”), and the allocation of 500,000 shares of the Company’s common stock for issuance thereunder. On June 20, 2023, the Company’s stockholders approved an allocation of an additional 500,000 shares for issuance under the 2020 Plan. The Company’s board of directors may make share-based awards under the 2020 Plan to officers, directors and key employees. The 2020 Plan replaced the 2011 Stock Plan (the “2011 Plan”); the Company’s authority to make awards pursuant to the 2011 Plan expired on July 19, 2021. Together, the 2020 Plan and the 2011 Plan are hereinafter referred to as the “Stock Plans.”</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The features of the 2020 Plan are similar to those included in the 2011 Plan. Awards may include nonqualified stock options, incentive stock options, and restricted or unrestricted stock. The specific provisions for each award are documented in a written agreement between the Company and the awardee. All stock options awarded under the Stock </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Plans have exercise prices per share at least equal to the market value per share of the Company’s common stock on the date of grant. Stock options have terms no longer than ten years. Typically, stock options are awarded with <span style="-sec-ix-hidden:Hidden_A2HNQ60awkaaTb9OpQBD5w;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span>-third of each stock option vesting on each of the first <span style="-sec-ix-hidden:Hidden_WOqFDZXPHkK8fhnzsTwFug;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> anniversaries of the corresponding award date. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">As of July 31, 2023, there were 2,325,701 shares of common stock reserved for issuance under the Stock Plans; this number includes 586,225 shares of common stock available for future awards under the 2020 Plan. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Stock Options</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">A summary of stock option activity under the Stock Plans for the six months ended July 31, 2023, along with corresponding weighted average per share amounts, is presented below (shares in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price Per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, February 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.84</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.11</p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (45)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, July 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,404</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.28</p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, July 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45.01</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.53</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, July 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.19</p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, July 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,192</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.74</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;">The changes in the number of non-vested options to purchase shares of common stock for the six months ended July 31, 2023, and the weighted average fair value per share for each number, are presented below (shares in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Non-vested, February 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 194</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.27</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.12</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (75)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.62</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeitures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.68</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Non-vested, July 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 128</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.72</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Non-vested, July 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 239</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.45</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;">The total intrinsic value amount related to the stock options exercised during the six months ended July 31, 2023 was $0.9 million. The total intrinsic value amount related to the stock options exercised during the six months ended July 31, 2022 was not significant. The aggregate market value amounts of the shares of common stock subject to outstanding stock options and exercisable stock options that were “in-the-money” exceeded the aggregate exercise prices of such options at July 31, 2023 by $1.9 million and $1.8 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Restricted Stock Units </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company awards restricted stock units to senior executives, certain other key employees and members of the Company’s board of directors. Awardees earn the right to receive shares of common stock as certain performance goals are achieved and/or service periods are satisfied. Each restricted stock unit expires on the three-year anniversary of the award. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><span style="background:#ffffff;">During the six months ended July 31, 2023, the Company awarded total stock return performance-based restricted stock units (“PRSUs”) covering a target of </span><span style="background:#ffffff;">6,000</span><span style="background:#ffffff;"> shares of common stock, earnings per share performance-based restricted stock units (“EPRSUs”) covering a target of </span><span style="background:#ffffff;">15,000</span><span style="background:#ffffff;"> shares of common stock, renewable energy performance-based restricted stock units (“RPRSUs”) covering a target of </span><span style="background:#ffffff;">7,500</span><span style="background:#ffffff;"> shares of common stock, time-based restricted stock units (“TRSUs”) covering </span><span style="background:#ffffff;">45,300</span><span style="background:#ffffff;"> shares of common stock, and </span><span style="background:#ffffff;">1,354</span><span style="background:#ffffff;"> shares based on the amount of cash dividends deemed paid on shares earned pursuant to the awards. During the six months ended July 31, 2022, the Company awarded PRSUs covering a target of </span><span style="background:#ffffff;">23,500</span><span style="background:#ffffff;"> shares of common stock, RPRSUs covering a target of </span><span style="background:#ffffff;">7,500</span><span style="background:#ffffff;"> shares of common stock and TRSUs covering </span><span style="background:#ffffff;">60,000</span><span style="background:#ffffff;"> shares of common stock. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2023, and the weighted average fair value per share for each restricted stock unit, are presented below (shares in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, February 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 310</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.80</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Awarded</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 96</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.68</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Issued</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (37)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.86</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (49)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.57</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, July 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 320</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.34</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, July 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 280</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29.46</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Fair Value</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The fair value amounts of stock options and restricted stock units are recorded as stock compensation expense on a straight-line basis over the terms of the corresponding awards. Expense amounts related to stock awards were $1.2 million and $1.1 million for the three months ended July 31, 2023 and 2022, respectively. Expense amounts related to stock awards were $2.2 million and $2.0 million for the six months ended July 31, 2023 and 2022, respectively. At July 31, 2023, there was $7.2 million in unrecognized compensation cost related to outstanding stock awards that the Company expects to expense over the next three years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company estimates the weighted average fair value of stock options on the date of award using a Black-Scholes option pricing model. The Company believes that its past stock option exercise activity is sufficient to provide it with a reasonable basis upon which to estimate the expected life of newly awarded stock options. Risk-free interest rates are determined by blending the rates for <span style="-sec-ix-hidden:Hidden_U2yBZKTuBE2-s8Z_8B8HBg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three-</span></span>to-five year U.S. Treasury notes. The dividend yield is based on the Company’s current annual regular dividend amount. The calculations of the expected volatility factors are based on the monthly closing prices of the Company’s common stock for the five-year periods preceding the dates of the corresponding awards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The fair value amounts for the PRSUs have been determined by using the per share market price of the common stock on the dates of award and, by assigning equal probabilities to the thirteen possible payout outcomes at the end of each three-year term, and by computing the weighted average of the outcome amounts. For each award, the estimated fair value amount was calculated to be 88.5% of the aggregate market value of the target number (which is 50% of the maximum number) of shares on the award date. For the EPRSUs and RPRSUs, the fair value of each award equals the aggregate market price for the number of shares that, as of the award date, are probable of vesting based on the performance conditions. For the TRSUs, the fair value of each award equals the aggregate market price for the number of shares covered by each award on the date of award. </p> 500000 500000 P10Y 2325701 586225 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">A summary of stock option activity under the Stock Plans for the six months ended July 31, 2023, along with corresponding weighted average per share amounts, is presented below (shares in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price Per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, February 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.84</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.11</p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (45)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, July 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,404</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.28</p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, July 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45.01</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.53</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, July 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.19</p></td></tr><tr><td style="vertical-align:bottom;width:47.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, July 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,192</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.74</p></td></tr></table> 1440000 43.84 P5Y5M15D 10.11 10000 39.47 45000 21.04 1000 33.81 1404000 44.55 P5Y1M28D 10.28 1276000 45.01 P4Y9M25D 10.53 1431000 44.08 P5Y9M14D 10.19 1192000 44.83 P5Y3M7D 10.74 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;">The changes in the number of non-vested options to purchase shares of common stock for the six months ended July 31, 2023, and the weighted average fair value per share for each number, are presented below (shares in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Non-vested, February 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 194</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.27</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.12</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (75)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.62</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeitures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.68</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Non-vested, July 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 128</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.72</p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Non-vested, July 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 239</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.45</p></td></tr></table> 194000 7.27 10000 8.12 75000 6.62 1000 5.68 128000 7.72 239000 7.45 900000 1900000 1800000 P3Y 6000 15000 7500 45300 1354 23500 7500 60000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2023, and the weighted average fair value per share for each restricted stock unit, are presented below (shares in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, February 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 310</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.80</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Awarded</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 96</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.68</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Issued</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (37)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.86</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (49)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.57</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, July 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 320</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.34</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Outstanding, July 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 280</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29.46</p></td></tr></table> 310000 30.80 96000 30.68 37000 44.86 49000 15.57 320000 30.34 280000 29.46 1200000 1100000 2200000 2000000.0 7200000 P3Y P5Y P5Y P3Y 0.885 0.50 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 10 – INCOME TAXES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Income Tax Expense Reconciliations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s income tax amounts for the six months ended July 31, 2023 and 2022 differed from corresponding amounts computed by applying the federal corporate income tax rate of 21% to the income before income taxes for the periods as presented below: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Computed expected income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,276</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,970</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Difference resulting from:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">State income taxes, net of federal tax effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 349</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Unrecognized tax loss benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 529</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">GILTI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 225</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Excess executive compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 400</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 445</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Foreign tax rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (643)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (120)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (453)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Research and development credits adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,181</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Other permanent differences and adjustments, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 418</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,487</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,959</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;">Foreign income tax expense for the six months ended July 31, 2023 was $1.5 million. Foreign income tax expense for the six months ended July 31, 2022 was not material.       </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Net Operating Loss (“NOL”) Carryback</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">In an effort to combat the adverse economic impacts of the COVID-19 crisis, the U.S. Congress passed the Coronavirus, Aid, Relief, and Economic Security Act (the “CARES Act”) that was signed into law on March 27, 2020. This wide-ranging legislation was an emergency economic stimulus package that included spending and tax breaks aimed at strengthening the U.S. economy and funding a nationwide effort to curtail the effects of the outbreak of COVID-19. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The tax changes of the CARES Act included a temporary suspension of the limitations on the future utilization of certain NOLs and re-established a carryback period for certain losses to five years. The NOLs eligible for carryback under the CARES Act include the Company’s domestic NOL for the year ended January 31, 2020, which was approximately $39.5 million. The Company made the appropriate filing with the Internal Revenue Service (the “IRS”) requesting carryback refunds of income taxes paid for the years ended January 31, 2016 (“Fiscal 2016”) and 2015 (“Fiscal 2015”) in the total amount of approximately $12.7 million during the fiscal year ended January 31, 2021 (“Fiscal 2021”). At the instruction of the IRS, amended income tax returns for Fiscal 2016 and Fiscal 2015 were filed during the second quarter of the current fiscal year; the IRS has not completed the review and approval of the Company’s amended tax returns and refund request.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Research and Development Tax Credits</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">During Fiscal 2022, the Company completed a detailed review of the activities of its engineering staff on major EPC services projects in order to identify and quantify the amounts of research tax credits that may have been available to reduce federal income taxes for Fiscal 2022 and Fiscal 2021. As a result, the Company filed amended federal income tax returns for those years including research and development tax credits in the total amount of $5.8 million, which was netted with a provision for uncertain tax return positions in the amount of $2.4 million, and recorded as a reduction of income tax expense in the fourth quarter of Fiscal 2023.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Income Tax Refunds</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;">As of July 31, 2023 and January 31, 2023, the balances of other current assets in the condensed consolidated balance sheet included income tax refunds receivable and prepaid income taxes in the total amounts of approximately $16.9 million and $15.3 million, respectively. The income tax refunds included the amount expected to be received from the IRS upon its review and approval of the Company’s NOL carryback refund request as described above. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Income Tax Returns</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company is subject to federal and state income taxes in the U.S., and income taxes in Ireland and the U.K. Tax treatments within each jurisdiction are subject to the interpretation of the related tax laws and regulations which require significant judgments to apply. The Company is no longer subject to income tax examinations by authorities for its fiscal years ended on or before January 31, 2019, except for several notable exceptions including Ireland, the U.K. and several states where the open periods are one year longer. In May 2023, the Company received notification that its amended federal income tax returns for Fiscal 2021 and Fiscal 2022 were selected for examination. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;background:#ffffff;">Solar Energy Projects</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company has invested in limited liability companies that make equity investments in solar energy projects that are eligible to receive energy tax credits. <span style="font-family:'inherit';background:#ffffff;">The passive investments have been accounted for using the equity method; the balances are included in other assets in our condensed consolidated balance sheets. Each tax credit, when recognized, is recorded as a reduction of the corresponding investment balance with an offsetting reduction in the balance of accrued taxes payable in accordance with the deferral method. As of July 31, 2023, the Company had </span><span style="font-family:'inherit';background:#ffffff;">no</span><span style="font-family:'inherit';background:#ffffff;"> remaining cash investment commitments related to these projects. At July 31, 2023 and January 31, 2023, the investment account balances were </span><span style="font-family:'inherit';background:#ffffff;">$1.1</span><span style="font-family:'inherit';background:#ffffff;"> million and </span><span style="font-family:'inherit';background:#ffffff;">$1.2</span><span style="font-family:'inherit';background:#ffffff;"> million, respectively. These investments are expected to provide positive overall returns over their </span><span style="font-family:'inherit';background:#ffffff;">six-year</span><span style="font-family:'inherit';background:#ffffff;"> expected lives.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><span style="font-family:'inherit';background:#ffffff;">During the three and six months ended July 31, 2023, the investment balance was adjusted to reflect the Company’s share of the losses of the investment entities in the amounts of less than </span><span style="font-family:'inherit';background:#ffffff;">$0.1</span><span style="font-family:'inherit';background:#ffffff;"> million and </span><span style="font-family:'inherit';background:#ffffff;">$0.1</span><span style="font-family:'inherit';background:#ffffff;"> million, respectively. For the three and six months ended July 31, 2022, the investment balance was adjusted to reflect the Company’s share of the income of the investment entities in the amounts of approximately </span><span style="font-family:'inherit';background:#ffffff;">$0.5</span><span style="font-family:'inherit';background:#ffffff;"> million and </span><span style="font-family:'inherit';background:#ffffff;">$1.0</span><span style="font-family:'inherit';background:#ffffff;"> million, respectively. These net amounts have been included as other loss or income in the Company’s condensed consolidated statement of earnings for the corresponding periods.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Supplemental Cash Flow Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The amounts of cash paid for income taxes during the six months ended July 31, 2023 and 2022 were $3.7 million and $1.3 million, respectively. During the six months ended July 31, 2023 and 2022, the Company did not receive any income tax refunds that were material.</p> 0.21 0.21 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Computed expected income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,276</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,970</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Difference resulting from:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">State income taxes, net of federal tax effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 349</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Unrecognized tax loss benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 529</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">GILTI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 225</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Excess executive compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 400</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 445</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Foreign tax rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (643)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (120)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (453)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Research and development credits adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,181</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Other permanent differences and adjustments, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 418</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,487</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,959</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 4276000 4970000 455000 349000 529000 505000 225000 400000 445000 -643000 -120000 -453000 -124000 6181000 418000 33000 5487000 11959000 1500000 0 P5Y 39500000 12700000 5800000 2400000 16900000 15300000 0 1100000 1200000 P6Y 100000 100000 500000 1000000.0 3700000 1300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 11 – NET INCOME PER SHARE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the note):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.14%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,222</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Weighted average number of shares outstanding – basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,403</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,134</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effect of stock awards <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 139</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 113</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Weighted average number of shares outstanding – diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,542</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,247</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.95</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.30</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.94</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.30</span></p></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:49.7pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">For the three months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">785,167</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">876,734</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> shares of common stock, respectively.</span></td><td style="width:49.7pt;"></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,876</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,707</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Weighted average number of shares outstanding – basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,408</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,516</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effect of stock awards <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 136</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Weighted average number of shares outstanding – diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,616</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.81</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.80</span></p></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:49.7pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">For the six months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">818,501</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">876,734</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> shares of common stock, respectively.</span></td><td style="width:49.7pt;"></td></tr></table><div style="margin-top:8pt;"></div> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the note):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.14%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,222</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Weighted average number of shares outstanding – basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,403</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,134</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effect of stock awards <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 139</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 113</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Weighted average number of shares outstanding – diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,542</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,247</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.95</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.30</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.94</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.30</span></p></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:49.7pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">For the three months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">785,167</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">876,734</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> shares of common stock, respectively.</span></td><td style="width:49.7pt;"></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,876</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,707</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Weighted average number of shares outstanding – basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,408</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,516</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effect of stock awards <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 136</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Weighted average number of shares outstanding – diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,616</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.81</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.80</span></p></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:49.7pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">For the six months ended July 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">818,501</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">876,734</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> shares of common stock, respectively.</span></td><td style="width:49.7pt;"></td></tr></table><div style="margin-top:8pt;"></div> 12767000 4222000 13403000 14134000 139000 113000 13542000 14247000 0.95 0.30 0.94 0.30 785167 876734 14876000 11707000 13408000 14516000 136000 100000 13544000 14616000 1.11 0.81 1.10 0.80 818501 876734 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 12 – CASH DIVIDENDS AND TREASURY STOCK</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">On June 20, 2023, Argan’s board of directors declared a regular quarterly cash dividend in the amount of $0.25 per share of common stock, which was <span style="-sec-ix-hidden:Hidden_4hFrgG85u0K7MGzchePveQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">paid</span></span> on July 31, 2023 to stockholders of record at the close of business on July 21, 2023. On April 10, 2023, Argan’s board of directors declared a regular quarterly cash dividend in the amount of $0.25 per share of common stock, which was <span style="-sec-ix-hidden:Hidden_I4b4uPPPy0Csgj7g1kUeZg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">paid</span></span> on April 28, 2023 to stockholders of record at the close of business on April 20, 2023. During the six months ended July 31, 2022, the board of directors declared two regular quarterly cash dividends, each in the amount of $0.25 per share of common stock, which were paid to stockholders on April 29, 2022 and July 29, 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Pursuant to its established program and authorizations provided by Argan’s board of directors, the Company repurchased shares of its common stock during the six months ended July 31, 2023 and 2022. During these periods, the Company repurchased 169,788 shares and 1,412,592 shares of common stock, all on the open market, for aggregate prices of approximately $6.7 million, or $39.45 per share, and $53.2 million, or $37.64 per share, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">For the six months ended July 31, 2023, the Company used 81,851 of the repurchased shares to settle stock option exercises and other share-based awards. For the six months ended July 31, 2022, no treasury stock was used to settle stock option exercises and other share-based awards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">In August 2022, the Inflation Reduction Act (the “IRA”) was signed into law, which introduced a 1% excise tax on shares repurchased after December 31, 2022. For the six months ended July 31, 2023, the excise tax was not material.</p> 0.25 0.25 0.25 169788 1412592 6700000 39.45 53200000 37.64 81851 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 13 – CUSTOMER CONCENTRATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The majority of the Company’s consolidated revenues relate to performance by the power industry services segment which provided 75% and 77% of consolidated revenues for the three months ended July 31, 2023 and 2022, respectively, and 72% and 76% of consolidated revenues for the six months ended July 31, 2023 and 2022, respectively. The industrial construction services segment represented 23% and 20% of consolidated revenues for the three months ended July 31, 2023 and 2022, respectively, and 26% and 21% of consolidated revenues for the six months ended July 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s most significant customer relationships for the three months ended July 31, 2023 included three power industry service customers, which accounted for 21%, 20%, and 12% of consolidated revenues. The Company’s most significant customer relationships for the three months ended July 31, 2022 included two power industry service customers, which accounted for 47% and 10% of consolidated revenues. The Company’s most significant customer relationships for the six months ended July 31, 2023 included three power industry service customers and one industrial construction services customer, which accounted for 19%, 17%, 11% and 11% of consolidated revenues. The Company’s most significant customer relationship for the six months ended July 31, 2022 included one power industry service customer, which accounted for 47% of consolidated revenues.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">The accounts receivable balances from three major customers represented 35%, 15% and 10% of the corresponding consolidated balance as of July 31, 2023. Accounts receivable balances from three major customers represented 36%, 12% and 12% of the corresponding consolidated balance as of January 31, 2023. The contract asset balances from three major customers represented 30%, 15% and 13% of the corresponding consolidated balance as of July 31, 2023. Contract asset balances from one major customer represented 70% of the corresponding consolidated balance as of January 31, 2023.</p> 0.75 0.77 0.72 0.76 0.23 0.20 0.26 0.21 3 0.21 0.20 0.12 2 0.47 0.10 3 1 0.19 0.17 0.11 0.11 1 0.47 3 0.35 0.15 0.10 3 0.36 0.12 0.12 3 0.30 0.15 0.13 1 0.70 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 14 – SEGMENT REPORTING </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Segments represent components of an enterprise for which discrete financial information is available that is evaluated regularly by the Company’s chief executive officer, who is the chief operating decision maker, in determining how to allocate resources and in assessing performance. The Company’s reportable segments recognize revenues and incur expenses, are organized in separate business units with different management teams, customers, talents and services, and may include more than one operating segment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Intersegment revenues and the related cost of revenues are netted against the corresponding amounts of the segment receiving the intersegment services. For the three and six months ended July 31, 2023 and 2022, intersegment revenues were not material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Summarized below are certain operating results and financial position data of the Company’s reportable business segments for the three and six months ended July 31, 2023 and 2022. The “Other” column in each summary includes the Company’s corporate expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 105,345</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 32,756</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,248</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 141,349</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 87,094</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,076</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,437</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 117,607</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,251</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,680</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 811</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,742</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,596</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,446</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 727</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,732</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,501</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,655</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,234</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 84</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,732)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,241</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,607</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 514</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,118</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,262</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,234</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,218)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,359</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,592</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,767</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 128</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 260</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 99</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 488</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 148</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 220</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 386</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 319,196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,590</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,273</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 86,073</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455,132</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 183,405</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,996</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,717</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,488</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 215,606</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,033</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 346,192</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63,074</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,264</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 89,178</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505,708</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 91,327</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,022</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,761</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 118,110</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 71,225</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19,551</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,947</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 93,723</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,102</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,471</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 814</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24,387</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,058</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,685</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 808</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,433</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,984</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,044</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,786</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,433)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,403</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 437</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,481</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,786</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,364)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,908</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,686</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,222</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 165</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 68</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 233</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 138</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 508</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 747</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 336</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 400</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 258,771</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31,960</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,745</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 82,717</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 378,193</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 124,320</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,055</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,991</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 646</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 142,012</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,033</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Total assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 282,783</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,097</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,198</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 82,992</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 423,070</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 175,521</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63,063</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,440</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 245,024</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 147,429</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 54,638</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,991</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 207,058</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,092</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,425</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,449</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37,966</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,310</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,906</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,430</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,446</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,092</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,782</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (5,446)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,874</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,697</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,205)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,489</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,479</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (7,651)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,363</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,487</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,876</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 256</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 564</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 213</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,035</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 537</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,031</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 165,276</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,523</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,588</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 218,387</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 130,260</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 38,231</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,771</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 174,262</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35,016</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,292</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,817</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 44,125</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,673</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,444</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,573</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,869</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,559</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,343</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,848</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 244</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (4,869)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,566</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 78</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,100</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24,364</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,848</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 245</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (4,791)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,666</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,959</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,707</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 331</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 68</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 399</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 280</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,052</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 222</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,556</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 94</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 487</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 57</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 638</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 105,345</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 32,756</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,248</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 141,349</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 87,094</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,076</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,437</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 117,607</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,251</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,680</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 811</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,742</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,596</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,446</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 727</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,732</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,501</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,655</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,234</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 84</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,732)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,241</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,607</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 514</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,118</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,262</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,234</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,218)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,359</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,592</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,767</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 128</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 260</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 99</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 488</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 148</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 220</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 386</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 319,196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,590</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,273</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 86,073</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455,132</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 183,405</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,996</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,717</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,488</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 215,606</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,033</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 346,192</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63,074</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,264</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 89,178</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505,708</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 91,327</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,022</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,761</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 118,110</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 71,225</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19,551</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,947</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 93,723</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,102</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,471</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 814</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24,387</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,058</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,685</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 808</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,433</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,984</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,044</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,786</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,433)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,403</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 437</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,481</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,786</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,364)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,908</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,686</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,222</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 165</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 68</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 233</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 138</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 508</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 747</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 336</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 400</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 258,771</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31,960</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,745</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 82,717</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 378,193</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 124,320</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,055</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,991</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 646</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 142,012</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,033</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Total assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 282,783</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,097</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,198</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 82,992</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 423,070</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 175,521</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63,063</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,440</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 245,024</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 147,429</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 54,638</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,991</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 207,058</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,092</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,425</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,449</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37,966</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,310</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,906</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,430</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,446</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,092</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,782</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (5,446)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,874</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,697</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (2,205)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,489</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,479</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (7,651)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,363</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,487</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,876</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 256</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 564</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 213</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,035</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 537</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,031</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 165,276</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,523</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,588</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 218,387</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 130,260</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 38,231</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,771</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 174,262</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35,016</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,292</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,817</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 44,125</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,673</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,444</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,573</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,869</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,559</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,343</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,848</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 244</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (4,869)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,566</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 78</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,100</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24,364</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,848</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 245</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (4,791)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,666</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,959</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,707</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 331</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 68</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 399</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 280</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,052</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 222</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,556</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 94</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 487</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 57</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 638</span></p></td></tr></table> 105345000 32756000 3248000 141349000 87094000 28076000 2437000 117607000 18251000 4680000 811000 23742000 5596000 1446000 727000 2732000 10501000 12655000 3234000 84000 -2732000 13241000 3607000 -3000 514000 4118000 16262000 3234000 81000 -2218000 17359000 4592000 12767000 98000 98000 128000 260000 99000 1000 488000 148000 220000 18000 386000 319196000 45590000 4273000 86073000 455132000 183405000 28996000 1717000 1488000 215606000 18476000 9467000 90000 28033000 346192000 63074000 7264000 89178000 505708000 91327000 23022000 3761000 118110000 71225000 19551000 2947000 93723000 20102000 3471000 814000 24387000 6058000 1685000 808000 2433000 10984000 14044000 1786000 6000 -2433000 13403000 437000 -1000 69000 505000 14481000 1786000 5000 -2364000 13908000 9686000 4222000 165000 68000 233000 138000 508000 100000 1000 747000 42000 336000 22000 400000 258771000 31960000 4745000 82717000 378193000 124320000 15055000 1991000 646000 142012000 18476000 9467000 90000 28033000 282783000 49097000 8198000 82992000 423070000 175521000 63063000 6440000 245024000 147429000 54638000 4991000 207058000 28092000 8425000 1449000 37966000 11310000 2906000 1430000 5446000 21092000 16782000 5519000 19000 -5446000 16874000 5697000 -3000 -2205000 3489000 22479000 5519000 16000 -7651000 20363000 5487000 14876000 196000 196000 256000 564000 213000 2000 1035000 537000 476000 18000 1031000 165276000 45523000 7588000 218387000 130260000 38231000 5771000 174262000 35016000 7292000 1817000 44125000 11673000 3444000 1573000 4869000 21559000 23343000 3848000 244000 -4869000 22566000 1021000 1000 78000 1100000 24364000 3848000 245000 -4791000 23666000 11959000 11707000 331000 68000 399000 280000 1052000 222000 2000 1556000 94000 487000 57000 638000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 15 — SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 6pt 0pt;">Other current assets consisted of the following at July 31, 2023 and January 31, 2023:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax refunds receivable and prepaid income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,895</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,327</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Raw materials inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,836</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,903</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,848</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,541</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,859</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,563</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 5.75pt;">Total other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43,438</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 38,334</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 6pt 0pt;">Accrued expenses consisted of the following at July 31, 2023 and January 31, 2023:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Accrued compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,085</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,286</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Accrued project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43,995</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,448</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,535</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,567</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,005</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,566</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Total accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 67,620</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,867</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;">On March 7, 2023, the Company determined that it had been a victim of a complex criminal scheme, which resulted in fraudulently-induced outbound wire transfers to a third-party account. As a result of the event, the Company incurred a loss of approximately $3.0 million. The Company retained specialized legal counsel and a cybersecurity services firm to assist in an independent forensic investigation of the incident and the efforts to recover the funds. As a result, the Company incurred legal, audit and other professional fees in the aggregate amount of $0.2 million related to this event and has recovered approximately $0.4 million through legal efforts and insurance proceeds as of July 31, 2023. The Company continues to pursue efforts to recover additional funds. The total amount of the fraud loss and the professional fees, net with funds recovered, of approximately $2.8 million is included in other income, net in the condensed consolidated statements of earnings for the six months ended July 31, 2023.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Income tax refunds receivable and prepaid income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,895</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,327</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Raw materials inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,836</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,903</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,848</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,541</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,859</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,563</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 5.75pt;">Total other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43,438</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 38,334</span></p></td></tr></table> 16895000 15327000 12836000 11903000 6848000 4541000 6859000 6563000 43438000 38334000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Accrued compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,085</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,286</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Accrued project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43,995</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,448</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,535</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,567</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,005</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,566</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Total accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 67,620</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,867</span></p></td></tr></table> 13085000 18286000 43995000 17448000 1535000 1567000 9005000 12566000 67620000 49867000 3000000.0 200000 400000 2800000 false false false false EXCEL 77 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -"#)E<'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 " #0@R97L^O=LNX K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2L0P$(=?17)O)VUAP=#-1?&D(+B@> O)[&ZP^4,RTN[;F];=+J(/X#$SOWSS M#4ROH] AX7,*$1-9S#>3&WP6.F[9D2@*@*R/Z%2N2\*7YCXDIZ@\TP&BTA_J M@-!RO@&'I(PB!3.PBBN1R=YHH1,J"NF,-WK%Q\\T+#"C 0=TZ"E#4S? Y#PQ MGJ:AARM@AA$FE[\+:%;B4OT3NW2 G9-3MFMJ',=Z[)9Z!R9:W7<5O*[[9M5QT7#3M^^SZP^\J[(*Q>_N/ MC2^"LH=?=R&_ %!+ P04 " #0@R97F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M -"#)E>"QN_$P@4 -P> 8 >&PO=V]R:W-H965T&UL MM9EK<^(V%(;_BH9V.NU,")8,)-D29@A)MK2[63:DE^TWQ1;8L[;ERC(D_[Y' M-MA)*A^H9_D"OIW7>G5T>2R--E)]S0(A-'F*HR2[[ 1:I^]ZOQUP] M7XE(;BX[M+.[Q2+)0)D2)Y65G0M]- M768"BB?^",4F>W%,C)5'*;^:DYE_V7%,B40D/&TD./RMQ51$D5&"U4 M[S2!+X]WZK>%>3#SR#,QE=&?H:^#R\YYA_ABR?-(W\O-+V)K:&#T/!EEQ2_9 ME,_V^QWBY9F6\3882A"'2?G/G[85\2+ =1H"V#: O0F@36]PMP%N8;0L66'K MFFL^'BFY(EW!.7'>B1F5!KT1G_\!T=.C_;W'XCL5?>^Y7W/J9>>W]X3H7-*1Y. MG>YGFR4TJJ6E065I<)BESSE76JCHF=R+5"IMLX=+:97;*F6*1K6T-ZSL#0^S M-Q5P7.T4-N1YC:,!+G+XT>A;,9P#<>A79>>#88VK4\ZUSB,59XDD%S;*8*T[( M0D-?)%*1JUM?P",>@AEA_X$YGYT#?#9>B5=-'< M@/=(4K=++_IG]&)@]8L&M_7+:K_L$+\3WP?U[&1W0#[ <^138L\K+@E19!KD MR@N@J2B /6@R>0A-ACG46@.H7-L:J-&(HO3QGQJ8FC-HW0]R8P6C/7+WTONZ M#J/(.ACCL6VMUB1$<99Y:[7JR7,EUV'BV;.-:WZ\MAH]!A[1FH\H3C5OC:#]"!?\T F&#GL$7'IH.LX[,SJ[QA<1&LPHCC5/(0:F$@N"64_/OY$%L++ M%632:A)7FLHXAMEIH6'<.2'?.Z=T0%*NR)I'=K+']=HZKZF)XK@#K.N'R8HL MGN-'&5D-[^&E]W]9;1T#E5B-2@R'F5T&R%E8OPL+;^ M:BYB!W'1-%?*?+&4GRE%'F$.R:U++GL4OU@7:J9X5%N?-0^Q@WAHEL!G=;EL M9SX]^NV.3S&-3#:NIA!U&/^30#D <,6$EE'7[VZ$P\3X $"/BEF-7K M,;"'U=C##L*>1\> 'E9##\-Y93?&OIK1 M%\62-OF4:T#8Q$R=5L??"&>V]5"J#0HUL[FRAH]8EYX/!^ZHM[9YK,&'';0D M-(6Q5 'AS1)?/)'?A#V-^U:&'(CP&\[@U\[@XJNQ@X*5%;*UVCURW6RSU6?N<_,ZO$8X./6X./BF#(!@WYI,N+6,6:/0..HBL?]7V.] M%_N'9L(KME4SXIFUR'(KL;I:;=U.B@W+7OUXN>_[D9OY,B.16$*H4&UH3W^%U!+ P04 " #0 M@R97AD+[328& #<&@ & 'AL+W=O-32V19/OK*S]BL'SQ M)BWY$+ Y]TCG2KHZLGLO2?J=KQD3Z'43Q?RJLQ9B>]GM\L6:;0)^D6Q9+']Y M2M)-(.1ENNKR;;GJX,[;C5FX6HOL1K??VP8KYC/QL+U/Y56W8EF&&Q;S,(E1RIZN.@-\ M20G) G+$8\A>^,%WE$GYEB3?LXO1\JJC93UB$5N(C"*0'\]LR*(H8Y+]^+LD M[51M9H&'W]_8;W+Q4LRW@+-A$GT-EV)]U7$Z:,F>@ETD9LG+'2L%F1G?(HEX M_A^]E%BM@Q8[+I)-&2Q[L GCXC-X+1-Q$"!YX !2!A UP#@2H)DM_\Z1\C;S"7%_YQ$M^AC[5KGM=(3N8-=-=E)VY+CI#CG1&1^,D%FN.:+QD2R#> M:X^W6N*[,C%5=LA;=JY)*^'ON^@"Z?@,$8WH0'^&[P\GD)S_USK]SZW7DJ%7 M4T7/^?133!5H\ MZ Z;/*N(EWP8+=M61)8^S])EU^K_^@BWM-RCSIR3S3DE& M3T16&R.C&B.CC;T_HX]T\D#!]!>15AZ9[1_/?6Q@W7![W>?#Q (P[&"LU6%> M$T8,4R-&'48!&'9TQZY@-9EF)=-LE3E,N$#)D]RIGEF\8V"I*1C,F@[;TFQ% M;A/FZG:VW&IJFRBBV9KI*&J!-FV#6 16:U5JK5:UM[.I[Z/[V?1F-(>46LW. MZ;)912B ,@X'HA#:1.FV:UF*SB;*,# Q89EV)=-NE>E+MQ#&JS.T8C%+@PC) M300%2[GIA5RD068H$'N5#HG# VXWDZ^9&E;2 *%<1YFV7A-%)$Q)*850ING" M:7"J-#BM:1A-AM,Q13>SZ1A-[^EL,!_)<@L)=II2=&*H@B&4H:D3'$!9CJVN MYB:*$/-@=M0$NY5@MU7P5*Q9*IW#(MFP,Q0S 6EUFS-.EB5%:A-D:J8BM(G1 M#4>I@;0)D@50@V5B;6^UM/>,[#6]FW)0Q*QLU1-M55-P10KN58JN F MRC34_$"R5,<\"HICX/(O>821YTH!GP;T M1I_.L6.J:0!05F/C E#$--4D0 VZ)CZ2A+WKPNVV:R)/]+M8'M2C\!^V1%'" MY1Z%L@0\!V$4?(O8N3S3G_,@8H@SF:I0A/ F5C:DB-75E+1VYZ/N%VK3)IJ: MNQ.U64_QWO'AGUB^Z?A^1N_D 63T2-O6E@GY5[=1-ILPW=35S0(BDTX'JZEI MPES;/%8T][8/6ZT'KGT10=('(/]N,(,EM]K'CQZL3LKFG92-GHJM/B![@XK; M'>IUP,,%^AS&:)E$49!RM)7.)7\4\@4H7ACMA*QR'\B# ^5!=VM_:E:@F$96FB"9%34I$)-S M) M[TXK=UL7YE8YN[[+G'X-'Z=%O*9H\C*_E*IW>% O51].'N3\?3+S1Y!9, M2JLK_O"J/26;=U(V>BJV^B.\O>TF[;8[7[70"!#(.C>.1D,(ECTX4>;B$3;U M$0'(9N(CFP79.VS2[K#+50GJ!$RN;C8>$$ P@QBJT3K"IAX503;KJ,Z]LR;M MSGHX\.^0-WH<>73B^>T;8TE57_E$K;_O0GD@2O67/P$5DKL'3^LW+%WEKTDX M6B2[6!1/8ZN[U:N80?X"0KE_C2^'&+COX4M:O&C9TQ?O?<9!N@ICCB+V))O2 M+FPY/&GQ*J6X$,DV?U?P+1$BV>1?URQ8LC0#R-^?DD2\760-5"^T^O\"4$L# M!!0 ( -"#)E=5 ;WY@ 8 /L9 8 >&PO=V]R:W-H965T&ULK5EM<]HX$/XK&JYSU\Z0H!=;MMN$&4*XEEY"S7U40 F>VA:U MY+SSTY M7_*4R6.QXIG^YD[D*5/Z-K_OR57.V:)R2I,>AI#V4A9GG?Y)]>PZ[Y^(0B5Q MQJ]S((LT9?GS&4_$XVD'=5X>W,3W2U4^Z/5/5NR>3[GZLKK.]5VOCK*(4Y[) M6&0@YW>GG0%Z/R250V7Q5\P?Y=8U*%.Y%>)K>3->G'9@B8@G?*[*$$Q_// A M3Y(RDL;Q;1.T4[^S=-R^?HG^>Y6\3N:623X4R=_Q0BU/.V$'+/@=*Q)U(QX_ M\4U"?AEO+A)9_0>/&UO8 ?-"*I%NG#6"-,[6G^QI4X@M!^2U.."- _Y>![)Q M(%6B:V156N=,L?Y)+AY!7EKK:.5%59O*6V<39^4P3E6NOXVUG^H/KR;GH\ET M= [TU?3J8GP^F.F;L\'%8#(<@>FGT6@V!4?@R_0_9_R]7;,Y/.[J+),\?>*?_ZR^(P@^VY%XI MV$ZJI$Z5N*+WATPN@1XT,"\O^+A:!6J7 D>^AAZ012=]!ZV M\S'-4$ B+ZC-=I!Z-5+/B72HHCN8;.8^?H/V;'Y-3;? MB6TPGXM" ]-+V)SK"MXFO LRKFQ ?0.!Y_D$[^$TK7R(MJQV8-(:)G4/MLA4 MKI=(P*3D]C)2X[T8!EM#MT9GL?*"(+2C"VIT@1/=E5KR7*]N>:['V $Q, M( M/!+N032M2$B(9X<8UA!#)\39U6QP 0XO#Z$)T?>1,<@6,Q(&L&64HQIDY 1Y MG6LZS]5S%ZP25E92=W?9V*NR=UJG960V!O3\_8&W6A%H!XQ@0S?0"?FC$(O' M.$FLS '-R19"0O:0'33;A;;%A.C LJ-8=A_KCMY,R=8*;@+M=@4R<%JL*(Q: M8#:,A9PLT3_G=UPWS@(H]L0=&+'9%A&"^Q@M5C1LP]A0#7)S3:4&C\3=42%Y M-2M%U?'MG;Z)M[,*!M2HJ&E%(6[I=-30#7+SS;K7VWL/:I77BK:;T3VV0G&E!L0+10 M7132MIG3L!ARTUBM Y*8W<9)K.(6F"9!(40]?U]46>PBBFF+J$(-D2$WD^W2 M[:%Y;G(31CZ%!EB+'<0^;&$*W) 8=I/81&0OXN5 7;')53ZD^T M5A2V+1NX M(33L)K1U40\4$UM8"D,:["L8FQT,_:A%$>"M'9B;SX97EY?CV:4>]RD83*I] MZ&P\^3B:##5B\%9R#B9"<0F"BDG"=]8L_L?."EAW:#\?:+<.#6=BXESDI[.K MX1^?KB[.1S?3W\#HSR_CV3_65)W4^\,[TE>*MIMT0[W83;W7^8N:D4K,OVHA MRW*@]Z4%!V_@,8) ZUL@ERSGX CX$'8AA.M["5BAEB*/_^6+#R 3+T]C*T'YDS/Q]HMWR-,,#NW>A0I*G([+7S=VI'JM*UE0_Y MW1"'71Q&NV7\@$B7^*1+?5)55-]Z'NKJKG^QVZHQ8 I\+I+G^GRF['88M^VC<2!#LEB W7#']2&L0EF=Z#.PD9(H+ MK#L8[I_FV.Q@$+:=1>!&A6"W"KG@4@*5+M$B8XB_[ MH;E(]8JP+ _%'SA(A+0/GRECC@C9PK/!;3'#84#ML$DC=HA;[*Q5Q/>R$[%M MSK7DVI<\5CL81BVBAS2BA_R@Z*E$Q7?#1\:)IG6K9[&S;O5Z6R?SY<\BERR_ MCS,)$GZG'>%QH N0KW]I6-\HL:H.ZV^%4B*M+I><+7A>&NCO[X360IN;\OR_ M_KVG_Q]02P,$% @ T(,F5SO]J4W] @ APH !@ !X;"]W;W)KN1:7;7KO) M0:PF<68[T.[3ST[2C$!XV@82\EC"&.%9*DN-G):K5 M9RK']?&K^N!G,(^8PIO$/$HIHJ/4T%,(9@.CL7D]O9Y!+)T>SNYOIR]" G%Z.; MT>UX@F97D\G##+V?8@:IB$"0 ,[W'49?9T"JTZ!5>C9_Y*"MBA+6:==5MU_YSS# M 0PU>8-Q8$O0_'=O3,_XU!;S?Q)K9,"N,V#O4_>G\M8!QB!$LMZ"IS.488:6 M.,ZA+>Q2JUMHJ:?$TCSWZ8!Z=20SFF09?DAG(N(,O(+PC;84M-= M W$-]=G@/6C60'9K9/>OD GG>3NNN\6Q2;K/H@'IU9#>7T'*9SX7. U)NF@C M]0Z2[K-HD'9KTNY>TC%-$OGD/Z9&NVWUYVX 'C!J,/9JQMX)C$>5:&\K3[9A MM!7I$88-YG[-W#^=>7>-]KMN1?\0;9:/&_I_P902P,$% @ T(,F5[0/^XM "P B&P !@ !X M;"]W;W)K M220>TF;':>RTTTM&HBU.*-(E:3OITQ>4%5$ ET#!6;ZQ)7OAP^D'"/X I;/' MJO[6K+.LM;YOBK(YGZS;]N[-;-8LU]DF;5Y7=UDI_G-3U9NT%6_KVUES5V?I M:IMH4\RH;;NS39J7DXNS[=\^U1=GU7U;Y&7VJ;::^\TFK7^\RXKJ\7Q")C__ M\#F_7;?='V879W?I;7:5M5_N/M7BW6Q/6>6;K&SRJK3J[.9\\I:\27C0)=A& M_"O/'IN#UU97E:]5]:U[\WYU/K&[$F5%MFP[1"I^/63SK"@ZDBC'?W?0R3[/ M+N'AZY_T:%MY49FO:9/-J^+?^:I=GT_\B;7*;M+[HOU*Y.X2N&H=W",)O%T"[]16\G<)_&WO/G7'MB\7 M:9M>G-75HU5WT8+6O=@*8IM:=&%>=MJ]:FOQWURD:R_FEQ\7X<>K<&&)5U>7 M']XOWEZ+-U?7XMEW=-VFY:LYFK2A71Y\M=V5X]U0&>JP,U68C9'S55LMO0.JY M/O7;U2KOAD%:6)_2?#4599FG=WF;%@!KH6=]SEHQW+.5%:9UF9>W4&5"/>): MS"#-??WC:'6BD>HLE_>;^R)M12DNVW566Z)YQ+2T[N:+A\SZ4#50J6(]]6-5 M3I=5V=95(?YU:[TOVZS.FA9")2,5K 9-.Q.BVRN/[I5'MQQ^A/,N+=)RF356 MVEI_3\O7%B-_M:A-*22@)Y2[1773\<,%9:Y_-GLXU,DPB#@^"6PY; &$^;ZK MAH7#L"FUN>W(81$4QATB1\5 E!=X?"\OKI771[&^RLMEM-J]7- M=N%DB1E%W)\U3VK)OG>OP1E&RS)5BCL[LM+'M%Y93=:V129NO<&% M[SMOL !SE:6.-ZB'JRXOM84VE0'_X+B.%PK0T+Q M!^5E@1TH$\5<6T+3ZPXF+,2$19BP&!.6(,$D 09[ 09: >Y,C6:KPSJ[NZ^7 M:R$V<-[1DDRO89BP!28L#(:K!8<1]38^PLPSQH0EP? N7JZ I!1B]QZ<_2RM MC$U#.ZR\_N*$.@%5IB)] 4Q5@4H+46D1*BU&I26G])K!9C.,JBTQ8XF-8Q'5!6'J)E&J+08E9;L:.[1!I%ETGNNQ,!TO2_T M!B"!7%>/JU,+':[M74%4;YN@N(!1U5 -@;BIQQR/*9<)*(YS6]%,#.(&UBL0 M13W/9D=6H:0W7\DSW=?1Q@?L5^;[G 2.V@&H_BLJ+42E1:BT&)668-%DG?4N M+-';L(<#^^U=+;1E:[3%3QK8@"OH!,13;WBAN(!REZD#>Q@WY1[WJ3JP@3CF M$4<=V$ 8,+"'4V*C. M)2HM0J7%J+0$BR;KK#=#B=X-U>^OZ!,;+^HP:0LR-/TXI8,U':H#BDJ+46G) M6'O( NE=4**W07]EFT6/-I8/)FV!2@M1:1$9&I93U_?4*Q2J1SJ6IRR?WB5M#OMB^HR,I81ZT!25%J+2(CJT-*<>M54MH=JH8WG*8NIM5*JW4,2HMV=$.;T0#?N26B_5>*--[H2_[^ ,;6G,^ M\=5'S>;Z,AH_&(Q)"U%I$2HM1J4E0&=QQ[:/7,!8[Z,RO8]JL@^H1QG/-)BT M!2HM9( EZWI,?<8!-=,8E98PP"Z6JB +YN!S"/0^\'-W =G0!IX2-_">. M^T$$N)]$@/M1!+B?18#[803CW24+J#=XF=[@'=_@TP.,YQE,VH(!GJ[KJ@\- MAJB91JBT&)66L*$%+S>(+)/>;F8GVLW*'A-H,>]8(_L ##"B7.>.@$ QJ/M.CY7)P#@,*!(CU#6+@/UE&]!1J%XH*BU$I46HM!B5EF#19)WUWBK3>ZOZ MC4!]8N-%(NJA5#;T#@GU7/5CJ5 SC5!I,2HM&6T0^4/+>C>5Z]W47]D(U*-- M!81*6Z#20E1:Q*''WWUU)Q USV0L3UD^O;_*]?XJWE:@/B-C,:%:KJBT$)46 M<>!XJ*NNGV+4/).Q/&4Q]4XJUSNI9EN!>IBQ8( CJ41=KBY0\PQ1:1$J+4:E M)6.M*PNF=U*YWDG%WPK49V@L*L "'!Z:1,TS!/)TB7JN$C7+&)66 !7@]K&Y MY>#36?6>ZL6HM B5%J/2$BR:+++>*^9ZKWA\3U$/,)Z+4(_]9HRK MCYV@9AJATF)46C+:(+),>N>:G^A">(D2#]A2!.'!/$8H# M]A3U#6+<+T E-'N*O+=ZN=[J??:>(@>,17A/45\"XR&+>JH6E1:ATF)46H)% M>]+9[. ;D[KOZ/HCK6_SLK&*[$;@[=>>T$7]]+573V_:ZF[[)4I?J[:M-MN7 MZRQ=9747(/Y_4U7MSS?=]S+MOWSLXO]02P,$% @ T(,F5\C?Y6A0" M43 !@ !X;"]W;W)K<2S2^D[C9&.W=[\2+,=L ;D@)\W^^A4O,0:$$N_J2P/XZ!'G MT='1>9!Z^<+2G]F64@Y^QU&270VVG.\N1J,LV-+8SSZS'4W$+QN6QCX7M^G3 M*-NEU%\7C>)HA S#'L5^F PFE\6S^W1RR?8\"A-ZGX)L'\=^^GI-(_9R-8"# MMP*$N>BE]#T8Y/9G<+XBV6 M'@'B:GGW;4ZF*W&S7(D_M]YBM01W-V V77X%-]_N_EJ"(?B^).#LCW/P!P@3 ML-JR?>8GZ^QRQ,7;Y)BCH.KYNNP9]?2,P2U+^#8#7K*F:TE[HFYO*]J/! L' M*M ;%==("?CG/OH,,/P$D(&PY'UF'V^.9.[\?[U[_W/O#3+P(2YP@8?[XJ(> M\IN'NUMP=^\]3%?SQ14C7F):LI1\ZQWD>W\@%X-1%K+:/I, M!Y.__PW:QC]DA.L$(SK!/$U@C:$Q#T-CJM G"[%\A$G 8BH;@+*M7;3-5XGG M"42.[5R.GH^9[5J9*(^;8R,B@3+'CMVT\B16T#'J#AL^6@5QZQS<-A1.DRH8#$("U=E+CJ=/LUQZ[UF71O' M;,U=TK6!!K9:#DJ,+,N6.S@^.#A6.OB-BHI,-8CCKH>=,>S:6)TA[-J,QV;+ MP:X-Q+!G!-V#@Z[2P=G63YYHEB<2/PC2?9%3.!5S@P,1OF'R3*ND)/->B7UJ M3M$)1MP.5T-LPA:A$B,;]J1Q:-3EI?'.I-C0-"V(+).V_QNZI=&I%(Q5:@ROHMA=&B15V< ^A1_4Z5!(ZC5G*P_^4"95M\@ 501L^BK71 MSS(J#\T*\_A5W';JD=@@C%LS4V(D<;QKA-V>J0E1[3A2.N[]VH?\-9^;$I5A%06>%.ID' ]KF&$(49#9]]D26EXZ%5 M#FA%(Q5:HV"RVQ63)[%"AMN7%.H2'JIK^!E+>"J4E&II42*\BKY0!4ZX$BHZJ84S8_F3F=: 1V]XJ15QVA%([ K4I !W;;XE9@-;3SNF]*H5C-(K686;]^;=BE[ M#MG\PU^?U+V<2K%6-((DJL6TK)80\"1F0\MVG)Y/#*C6-PB> M].%YOOCA+3_PX1DI9=/)G.I$(UK1/%UHS0&J=1A2Z[#[?1IL?9& "^6U%6IT MR&D:OZ>[U*@GCX]6W84DFLHUC$Z5);.#CG5LV"2U5E](K;YN?;Y/BWQQ(JM: MQ9E6-(*ZP@M:KJ"KS6K7KDE^D]-:I"'U/DDC4/UG/XSR6F*X8>DP\T51D=&@ MXES*K%:-IA6-5&C-]D :!5E6M$(ZLJM(>PJ"YF9J$-Z KM694BMRMZI0LJ4\8$J1*MR MTXI&4%>3C4VK_2U,8C4<6_T,U](-.2<5(3?SQ70Q^T 1HE72:44C6M$\76C- M :H5(E(KQ!F+8Y: K-AC3.GN+=-(!T6K*-2*1I!$[=D.[@2ZQ,S"T.X+]%H4 M(K4HO/=?RTUVD:&+E+(.\XS21S,UH5(>Y* M/;>]*>U)C.P>+8AK+8C5>UV+]O&.39CX2?#^TJ;&/9E.K6(0=W?'AA"9;KLL MEMF)(L_M^8B!:P&'W]E(N[GQ9N7!/N]?LZ_3Q1G8MGY>G) MZ8*4%]X_O\]_3+_E1RNE!.L]0*?W!%U7J&%C;*$VQ5VS(3(BCT\/9Q_GQ:GOEO/K^'%#$J>$WCAE:?;:_CRL/VMGSZ%208B MNA%=&9\=\7Z]O.%L5QS0?F20='/X7P>2_ M4$L#!!0 ( -"#)E&PO=V]R:W-H965T&ULU5IK4QLY%OTK*G9K:J;*&##D,2&ARA"8829D*$RRG^5NV=:D MN^5(W8#WU^^Y5U*WVA@/R>Q^V*I4L-72U7V>^VB_O3?VBULH58N'LJC#Z9B/'']^)T/+FU\NU?C:B*P MEX5K3OTUHR>N>2FN3%4OG#BO3[=+25X&]-,12'!P,QVA\= M;J%WV.KAD.D=_J_UX*\YVGP-A=@;MY29>K>#&'+*WJF=DQ_^M M$$?;J/_WA-AZS68A/OYQ>RX.Q __>#TZ.#@6W\6*>*]<9O62X]7,1+U0XK1Q MN-XY,;9S60W$994-Q8]TS6C_F-?X\\'Q3R(S5=YDM1. +"N)B ,):YKY0F@L MWR],4:QVS7VE^/,B^MN=,Y72AF35$(*ZNY(N.K:@[#*ZNK^8!V98U5R ;U@)FN M;<.P3M_*4CM*$KR3$E&M*EEEBH^1A@'38-LL_7&67F6+2F>R8&) <)P5Y,DZ M RN0BEA" :=4QZY%:62=TE14-R;.T&OLUM*6!>4BB M.6X/-,$7/!7;P6(S+> +30UKU^R+80LYB5!?&\ULPSC+9:'I!N+?D.%9=&4S M#3%FVI;P<%TOA-/S2L\@7'N=)3)>>V%/Y#=JR(G"9.P$NF+9/U7LB9/:>V!B MX4_#2;3N3]Z4-RH( 45<6L6>&+TO?._Y;4+_=^@]-^7:!;\/.X]-' =R,-Y MKL2#&'%>';L@*Y0-V>RJLR9.&5M39&!M3DH8MFZ)P/0RA&,Z>$1TKVU4.M1P\SC+9\FN M#@$N[O!7%:ZS$.!K .36.-KB^S3F!!##<^#=S$JO6:(Q,443M$HE\M\TD&PQX*IUVM'+M0Z9C<)+@PSC+X&:,?M?( QDA/Z$; MJ1J5-YREER%FFN0B!W,$#!Y04N^0GAY?'!+VULSKHT#H8) &#=F:FL8"YKXVTE+R"8E9*6D% G(O?9(5G MJ[:$1&I$\DFADUG9S4*:FLJ"+.H9KH'[3F;>EQ;R3HFI4I5 ,*!"CR'6XVL( M'Q4?#3#BX*B?_Q;217>#LE%#P'T2/<-3N?GP/1"Y&4P5\E,($W!LRN&S1!DG:>+7#LYG\.W. =L@MR.3W\/\4)(M&SL MTCC%7)3R"RVS.JL.FK $VVG*V\YGU,?$'45)-!K!;&(VH22XI8?#;1X;["9\ MARN9(_0.G>&]-9XXG7@Y52324HWAU8S S+[ K1&S+K#,V1I.2QI@X%E8I?QF M_0"\Y@8HN%_* F_!A]&@38_/XB>3;B%F:*M=>^4S+^+JKJEDDU,6_G8%K@4/ M.S&' +2!A "@L$CJ@?Q?0P@SX+X-=;JP0^Y82BI&X76NH= -\6&;(@0L?+@I M O:G(#E1J"JY[.)MYP_9@BNZL[:F[%4FD_.DE#X+L9I&*!&I*,H1.EEA**,Y M+.!Q4;1IE-$!4==PV;9!M%8@V@= M3E;@ LWV0$V@@%R@'&_VPJ7[*Q!4)X;B?I4<73I%)=U:8+[K0?H,SM*.?E ML1-(+$Q%?0N''F$]-2H\6(&DJ]2M-H'TV+O:C3\/,6B<)0[V=W]O86,-:C?D MQ]9?+OQ66NMBX;(*"4E7H0Y)"Z;Z[]@&.SC,X-WPBC]1$ 4%^W1%"L!U,D19 M\$)$-?6- LD8?N5+-B18TG*ED,4=B4;"H^F4VG;W173H6$$>T^D\(CKRQE3" M93"8[F6*#3#-R5"7 JE0FYPCGFJT",4QG>."I)!G?JO5VF'6 $5#%"QTG%SK MWJG(]G:2OIU<(XQG0474ER'/[U)+R;M).0H M_F[E@SB#F^D:;(7V GPYKMH@$;3#=9*A2FA IE]3=$*"KG.ZD+*C%W M@2R[$XE:,TFLX]J7:OU"@N@A7MJ3T.6NHY.M\2[:"1LJURY-6_)ERHFDB=J' M[YTL&E!C>&XJ(#?Z8CR> S=\""*_.!JM5(HC'(B)KDK4\H$6/; 2.1I"M?TJ MPTJ6-25E-)6,7!"L"WHK 34374*_T+1XN@,Z!L0/H$'YC7LBK*<&QR-0*G53 M,@]/\/P(X6.HL@1P0/6P)$,-F'L:$65^!OA$,OBKPC*M3 M].;VTON%8OW@O]7:N$BWD=K6SJW[<2A3TN"G+3ZR4G,%K_>ZWP@Z9R;O6.N@ MIQO5CI!J\>_HQ>Z!GV1-SI*U4:B^'XE(/*^)J:D*4.3M;#3Y9&3U-1M/N%8] MDGHO&NNW_7(;1INT2Z_NHO.RY\#T4YXOX%_&<+?+S:FO%/.&ZS;OJ3/TR<92 ME/3S)P]) :$^=HO)77?U6P\Y\R?)CI5 M,Q,0A.96"!.00)5%=F?M9F9>L9!03)O%?>4-N>$@#NA )6=2C,1^(][2!MLF ME;$BI A9(!HZ02V*^\=Z#5/*1]QZ'"3$H K)W+,CA.CK^\4SA.@"/^2PJ*=- MMST2O[N?!Y51><'#0E'1SAF\>(Q'.@SE2IJ#P'8:,*5UX)R ^T( _>?UT62V;VL4VEUD%YU\;PQV,Y9F3TS">'X:K1INNZM,G:DZ70!B[F=9C#HYIQV,J'4_/(1FE:1L$BA=_ M#]./&839;C>9*0TK&0P)"V'AJ6)G,5-C_21@E6[RMQ#:R*B3P\WJ3PZ%2UNX M]NDVS4_FOB+)FI)? E)Q46^88:QW)X-V5H786>F 3@AYLT,AH\)5SI0S[_-BG[$;-1QB>\*LTRN>8A@:^O M::$KAH.KM-RQ9W==J$^5#33+$#\NRA4WP&UA<_;>=2__VFD_M2C:ASAWO.C9 M+0S1WA+[XGA[BEB^HI<.+1&=1[#I,MZ^[@/NN;%"+Y:\&TA+W7WX*OJ!& M?/LPNQ=JSW26#DE;-PBSB V]RD8/>?3J68?&6Z%T MDPU2.O'OBY\'/_\\>O;V[UV_-;4LW%;UK''R-[435]I$,J$7,-U7?A_3JU.; M=NK"U7?L.2^KS!>-"/0W M&2GX)QL;^(A-T//XB!E!/=2AVP\S-*30.VT:QP6='ZWT7L)LD6Q((AEK! M!QJN>KL2_YRB^\,H\& 5U: J3QJI3;_JVTM^KLD_YZ ?I9+TH.E_N=FNMK][ M'?N?>W;;_8]FKZ2=DU2%FN'H_O#5BQUA_0]1_9?:+/G'GU-3UZ;DCPLED?Z,G'Q, $ Z 8 M>&PO=V]R:W-H965T&ULQ5OYC]M&EOY7B![O8 =0'U*?/@&G MXR">@=-&VTY^+I$EJ1R*U+!(=6O_^OW>>W61HI3,S (+!'&+8E6]\WM7Z&;1=VL58N/S?+<;AJM"EZT M+L]G%QGKR?OOKABM[G%WXU^LDF M?V?$R;RN?Z_GR),L[ MV]9KMQ@4K$TE_ZIG)X=DP=W%@04SMV#&=,M!3.6/JE7OWC3U4];0V]B-_F!6 M>36(,Q4IY4O;X%N#=>V[QP^_?OCEVX? ML_MO7[X^?/KP^.7->8NS:,5Y[O;]0?:='=CW)OM45^W*9A^J0A?]]>>@,1 Z M\X3^,#NZX=^[\BR[G$ZRV<7L\LA^EX'Q2][O\O^<<=GW:GQ?LC5%\%JJ^.[?X?4'U\WU\>OG[(9ME?_W(WFTY?9W_N MF.SK2F?W]7JCJAVOO'UMX69YW56MJ989( -^N]55IVT&#\QA$0W4IG%VE+C[34$N"+_W^IL@?^=VE9OLG5=Z#)K5ZK%YO_L#(2, M/S9UPV=J'-T:/&KK5]GT+/M8T)/%#@MT( !&-/AFHQL&N"K763TOS5(19H#J MQ6#AY5GVHVYU U?4_!6>5U8)Q&P:0^N':Z[.LO=E6>>J/;2DK8]1,[&>I2J O"%2$74X9J&;(4%U$Y3%CX Y[HUE71>6#CN'YLAT M09OUQ'EUG66_02G0TSBUI$R+O^S"D$*W.+\%BD]XCT:7$$(1K4(U]-!QE;Q^ M-FI;AY9!B(@HIMQE'="FR;;X4'>@?+?1K,.RKI:GI#7BV+9-)\(/!CG)3)67 M74$6U*YJJ]EVGU8F7_4/#6:J8<$X2<$PGW5QZC1/#XC\4\CP%"%#-T:5;-S& M:3&2&GC-E#UH?W1FE&;1!5,ATDW5,9>)GKU"O4$U]7>$OZQ^JNA[_,=41U4^ M>N863;WN\3(J&_8RYQ?:@GC6YK*IK:6S%@;6/M -F N61%_AM:U!2)A$6>:U M!2;@E*YI: 7$%#=OZU:5@1KW;F=%4YH_G[;U*?V;J0UV5_D*SKT (7@ KXC6 MYS<-@J(-A6PU-Z5I=R"B,.2GY 7XKS6YV3 9);'(\!3]NDU\[\F4961;_(\I MYX6F'E:DV0FLVQ_1JD"1_S4@_U-V)Z M$7,'>GDB)TY]1<@_8'P#H(7,$N!;*UVF7XV5E2W8UJJ MNB68@-)+L%/@2]AARP'**8UHU\\ML6D[J"KR GTH &[/EH0D\1C-*FPT-J*C M#/9IO+1!5XK)UL>RGE&!,R>/+&\0UD D[[)L!&IM+7$PU1#I6"-86C;5-235 M,D(R$ "[5=.076L;=2R@.:;#@Q&;^%'6=@TIZI1P-D$VLEUO;4TA&"#,@GV[ MJ2O&DB U2MO)^AVKNA#PWX^2"\;7P&C8 &Y%F5;5RC%;579[43A33ZI)##J( MF.1G"%'DNZ(7W)WC8:\0!?K0YDZ9JY(M5NJH AH&!+5L<"@RJ )Q6_$*"D_D MOL$11)N"!,B>R@*FY2,,3 G%%H?U!M3Y#XZ-/2&Q[&"3JO@..:U9*#FP#!NN M5:$3G !H8EJ]MOSV M2E5+'>#/YJ@E?13,>S",*).7RJPEVA *L@7CU=+ +PK>OU!KU(EV/#< +\1& M5)77%,N&-$&N/G="1R99B9>#6BB5:C<6ZIQPG,Y%8<5ZRY5=B=1ZP52(ZX=3 M4/:)PM"^4V_43E0QZ@GL -A]B6>L6[))_?!TJM%SGP$5!OC%?;W8W1F:YXA M:Z[!2?M%A@IZ%RIH9@Y_S"9B0MF3YFB(8-!9"I^4+%9:("(%$_C('E/&.V7@ M[8!^77%H79!B$ SH'2"25"UP$@,."X53A1T0EAQ5>Q=UV5*R3P4N+6?A41.YII2 M,)>Z-/O)UD0 *CDD98I]V>(]RE26#HJPN7C#!@P +%D17$_=CRCM$'L2L=(Z MA#(121=&.(JUDN<E[W9C7_4W^)? ME4&[:K3^,U+XSX7P'@&YS"XO_@T1W%R=W?9%<'=Y-CLD@?N8LU$$#C6NY4HRG])OE$$2M4L A'I2B.S4L>6 RH&+ M]HH5'1FU#_+!@F,.S6EMGNM-Z^R9XJVFJ)%0+GGOPN%2"NX.4>J1H$"*D"#- MGBRJJW2;I&&U-3[TBGNCCLP[1)GP#A6#3J:1&E]%ZFH))&&;\^](LB=5$3+2 M':\',X0:?GV2V4G[_' EQR&Q(L4ND6@C:@=%<=_EL-)>2]*8"C"F+A'BY[Z% MEV8A![;L>UK0$;;XXQS.54/C?2+J*>S[X!Z$L)^\F-V=3?N>6#7<-%#4->:TCL])>FBN;O>5$Y&J M_7:QJ/.-F7[C5I6HY)U@['@^NW\T3DX; M6DFY*C5MF^GG#?.2I":<\RBIM6)ZCZH"7D^1.V1JW[MBN8[^S KE#I>R4.F< M$NFM,B5+WU0R'.1&S0-7BAE %HIW! 4PC7*:'% ^H1&K$'(G:2XI*6<&)"FA M5;(WA%.7G>L._1FWE"/5SAL8&R18)HA\O&$32Y&8KJ9.$%H(W!'KE1%2HA_J2..[HF9$ MB!M7^NG0 B@G;SMNX=I!1('ECW8(CA8Y#")DV94-G:6=1Q97EMV[78E#;L+& M=O*@D[%;V!Q)[&N#J@ M^7O1P;T*UX_VH:HOZ.]B)LX$P0-I1N4KH]F0&7ALQZ\->XL'6BMI1],U,*3T MBV%9M,@-'YBIZU@3'6[V1J2L8?I2I?D$:KYSH 74,';%Q[8\-7'!W9'-N,.9 M6=R]Q'-N-===N^DX50-4F]SH*H>'?%"40NQG B[=\UT75SWY("]*4X,QB8,@ MGB26T53'I/5>9 J:D-OQ4(3H.%#\)FT-MIV:,[& DC*HVCMDT+H@[4*=O!%> MDG;>*)*Z5I/7]UR7)%L;H@.!Y6O MREPXEI!*T8?Z15STL#,QZ 91/E"!@GP?&4>_R4CJ<'@\8$D_Z[QK];'F\J%6 M,K=MBBX/5IG8C@M:84#BCZMJ=EN7'!H)#>T@,4'DZ]JND0EM8U79*_18)*1" MZ5^%(X!-+?5ZK42U[0 VD@.CU>R;RB1,Q-B6!"T\X+JF+"%[V&(-C2\%V18\ M&&;M>^SR=:@J (JW]&>W"S52RH\:-JZD?,]O-I^(L(?T^&@RTC$I\@R5%.Y MJ;\8B'-$F,/'RB?FRGK.O#3((A@B>6:-#*\J&.NIPFK:,1_B-,*RY\0I.':U M':E=TY^#RB DPUQIZ7[@BN.4+SP1VK-7Q&NK]RPH:8,%;Y-NN+1^9:I2D-U0 M::W8;\1""YR^D[&1\%2$5)):YRO@@^:0Q\DX@?:&4;07*SQ+[(&64.LH5-%= M)&X-#HN*7L?+^6Q$*1?*>6HUBFBL7!=+^HHM:G# \8L;CD>S@'C-1"I[*1CV MJX2%VM9-*!)(C48ODE)!E=1W<9I,&YVQ12?C@*,9O(RZ[+!3&N\.B)H7Y#_' M+QX,"ZO \38F@?T).?/E$JF)&XW3F&P-+Y6:7;7YZK3;9-0KK,'K-S?P@\#D MD:C!@)=<(F^5<.(3Q>/#,)J=430W-L[]G"FX+"D6;G'KWM ;83PP=6!&EG8) MDJ++Y0\AUG%ADURU<-FEC)AY %&:W]G'A"<_GY>L?T'M%FL.GIZ,W5.]8A.' M_;ZU'7D.WSP_\Y_3UW^ +C;6/N$VQ6[N)L2#FN^ MPM@#TQCHB@,Y M2-EU_D_%S]SP1=/%NZU8IY/EO-V &+.[.N9PC,+D9 MD[838YK7NY8R.6JL26X;6E=)510Z?ZYC.Z&'"S5O^&)0#+M\A2,:&60-X: 8 MRY1^TK#2Y(;AB6< MA\^3>)03W3P7AMODTB27-HCH&6;#X.*SB2?*=. =U*&6^3MR%2/MMR@KABR? ME0R2M37TXZFH(5ZRW'-$FOIM_W("9%FJ6SY::GJO3Z0S#\5'?T0F"!$B_" MII4B3_*2]>FB*[)(+DC(V(;KTJ5=U"ZKUT)5XP#MO77 8,27>^3\P">(H=6 >,^,E1$:TT#+LZW8<4.H3C!2AKN M/BI]^'P?@I)SH+1G/]ZC%]5(/MH+NQY4K$,?05,:LNU0B4 F/]=/5+5-!C.3 ML;L!O;-]V>)NF.5:6L]QXS15C,62%(R]<=KE[7]Y;!.)2GZR-W;P^>LP3,4< MK6<"(6'K%>;C8\>&\X(/1!DL1*YMJ:@];J55#83_(N/?.*JQ-?,,WMR@O79-YN[0!GN=JBJ@^ MUR>2S#MHP*4JTB]1;0\! *^%IED_5VVUG[2D10-M*LV!I."4&W('5>U]KR*5++N!6TA:"H[B! M8,X.(>V;1=E1GN;VD_ IC?XHU0DU>?P01BZ\9K]7*,I'*C0L#VQY0&3$H<9. MVH=AVYC3#Y#VO? L^]%8/Q3P8.;7?.5"ML1"-BLN2$)$&O3C\S;?*D/B^M.RD_OL7V=W%9'8W31Z\O)R\O'JY MM].+;'IU.[F[N$B?W%Y- &8PC$V'$)^3D7PD!X7N_%M7=Y.+V^OP<7H]N;[< MI_/V8G)S?1/)OIY,[VX\S?^ (I'%QCUFDYV8.5T>C$BC]G5]81 /GF"=R_O;A,M4T;[G>Y/ M)+\0.-!9&G&:X>\YDH)M_!HYQ_CU:%P)%+CN8N\2R?""?'IW[OX@:7N.*1?Y M&0ZLECDI4/D7"A+3JV2\7,B4ZH_3L;&?AITGO^KCXH)^NT@2!.S+#_S"T_#S MR/?RJ\#XNORV\A,2-@.1E'J!IYG=&46VY$N2YC+C M.&F;;IO-UFGWF99@BQ.*5$DJKO?K%Z L17;B-)WV11(I$#P @0-(QTMM;FT& MX-CW7"I[TLF<*]YTNS;)(.S&O=ZHFW.A M.J?'?N[:G![KTDFAX-HP6^8Y-ZLSD'IYTHDZ]<1GL<@<371/CPN^@"FX+\6U MP5&WT9**')056C$#\Y/..'IS-B!Y+_!5P-*VGAE9,M/ZE@:7Z4FG1X! 0N)( M \?;'4Q 2E*$,+ZM=7::+6EA^[G6_M;;CK;,N(6)EO^*U&4GG8,.2V'.2^D^ MZ^5[6-LS)'V)EM9?V;*2[1]V6%):I_/U8D20"U7=^?>U'UH+#GH[%L3K!;'' M76WD49YSQT^/C5XR0]*HC1Z\J7XU@A.*#F7J#+X5N,Z=3L;3]P&C*[OXY\OE MU_''BZN;*1M?G;/+JZ\7TYM/-#[N.MR+5G23M=ZS2F^\0^^(?=+*999=J!32 MS?5=Q-@ C6N@9_&3"C^4,F3]*&!Q+^X_H:_?&-[W^OJ_W?!*[^!QO91$;VS! M$SCI8)98,'?0.7W](AKUCIY /6A0#Y[2_@NHG]9[]??-!>NSUR\.XB@Z8L_; MADVXS1A7:?5P\:T4=UR",Y<9 )97L:0-DV!1C\-Y8 [9@62*TB099B9S MFLV )00&[L&$;.P8AL^J"1^/^0-7)=)0,QFP!(Q#&F,\UR7A0M7;NM@2#*S! M UG!.(&#%<(VM\BA\Q)5>X,4CKBU@(O:\AG2Q-ZWDDOA5IM+A;+.E'D%>5HF MV8:3A$IDF0+[$DY#=H/\:TL$KV=2+#CQFSUJ#PB[EUSH.S"*5##D6)6@6P/& M2Y?IRL=!:UO"Y-V.I%V@$FT0,LZ#*8RP@#N0WPPT_N8+/)P*GH6D)/'9ZL&^ M+5@A.Q=W& N*7)%H/#X#DI-G\.BVG-$RW:)8H@T2"5MFH!APHR -?93-N.0J MJ8*%)XDI42A=;^(CY<_?&_V:B9:6VT+ M>SS^,L5X<7L8"?F&:;7@2W80!:-XT)J(AE$PC"(VON-"\IF$/>P@]BRF414K M5:AM[S@\# X/XT?11_$1N]$8I#L01 .$$(T>@5#/5$;]S:/QVVDZIQ^+V ML1#=+"1*DY>>K,1+_=M8Z'??-ZU][JHQT3 =+#*R:6;?&6WMCM&%Q9[#UZL' MNG(D$?%?Z\T$RZ%PS?"+0E?+#8E'IMYR<8]D0JGV$??' WB'C8FM!U^Y++<[ M 7^ OZ]._.S]O 2?QLIW810K1&MM?HZ'032*6Q,UJ3\U$^^W"3T>! <'HWHO MVH3V\AWBYF[UO3\,AL/>SG+RW/G!8/"8ZJ@WJBI2V\Q1+]B/?M;,_;C7&FT5 MP?'#A Y:] 8)8'>*Y.!]@DQ4M:^T9J.E:1/N?81A]"MG?'?&/@M[^Z"" MGQ%G.H&44%"4HR@J%]3:4'N,PQ0*;86K$?C(]%Q"(U_#/.4_W39O5B_T*K:$ M&/7.1W[=FU^41N_-?(&<>;U)4C7K^.Z2FDE5E9=:OM#4D..N!C]Y%KM65J#_ M"NG9E@59V52, LQ]3SV^GH3L$U=8:'QOFVI,1TP]_.Z0 NXP^+/UQPD6LIGP MQ:XYCJ9,5*6U\M[:=9!N.BRHWK9=1J\>.*TJU%ZVJ5*UUZJ"/4&ULI59M;]LX#/XKA'?8IR).G*SKM4F )I?#;;AM1=OM/BLV;0N3)4^2\_+O MCY1?EFU9,&!?6DDF'SX/19&9[XW][$I$#X=*:;>(2N_KVSAV:8F5<"-3HZ8O MN;&5\+2U1>QJBR(+3I6*D_'X.JZ$U-%R'LX>[')N&J^DQ@<+KJDJ88\K5&:_ MB"91?_ HB]+S0;R#3Q+W M[F0-K&1KS&?>O,D6T9@)H<+4,X*@?SM:B4?[1[/_!3L\KQDN-5?PHOEW)H]6+8F-%X$J<&;R$G-E_+D+7V5 MY.>7]^OUAX_OGY_@<;/>O/ETO_IW,X\] ?/G..U 5BU(\A.0:WAGM"\=;'2& MV;?^,1$:6"4]JU5R$?!MHT8PG5Q!,DZF%_"F@\IIP)O^GLH69'8>A)_'K:M% MBHN(ZM^AW6&T?/EB0,S>/GB)IE,[N!, M('@N$=:FJH4^0H$:K5#J"'CPJ#,'J<5,>O &1%>2V#Z%#/A=:<"=4(T(K\SD MX FL-PM!7]\YR*46.I5"06HTH9'M%96Z+ZE1T./^TD@K=0%>Z$)N%0$8I81G M(B-8]S%K<:1^X!V'-13&,ICSMDE;O%QLK4Q;(D)G%!15!IP&F3*D]I:Z@ -A M\41FUF!@(C5,QZSR>@R9.#K6LI6*>)D70E7S=ES>PI'@(-A>\*76@A_/=" M39HV%LR.Q+*=19XNK%/)?/"NA?4R;92P)_(%D?"M4E&UF>W-K=G),$I^),TG M;.-+BQ@T.WG@%'%/0^YI0!WI.'2D8$*+!/9(69,TH@HM_D"+2^R/: M6Z$;NLROAWOAX(_)Z(::/I5@5]!T\&=_< 5<9QBFFCJ.X%P/BD\& Y5 $<8? M/6C.3#LCAM-APMZW@^6K>3N>WPE;D%!0F)/K>/3Z502V'7GMQILZC)FM\51O M85G2KP2T;$#?C(1;OQ , #L* M 9 >&PO=V]R:W-H965TBO[TH& T=";]IO_6)[WYY]=K6R M--@H_=6L$2U\SX4TPV!M;7$3AB9=8\Y,4Q4HR;)4.F>61+T*3:&193XH%V$2 M1=TP9UP&HX'7/>G10)56<(E/&DR9YTQO)RC49AC$P5[QS%=KZQ3A:%"P%<[1 M?BF>-$EAC9+Q'*7A2H+&Y3 8QS>3MO/W#G]PW)BC;W"5O"CUU0GWV3"('"$4 MF%J'P.CUBE,4P@$1C6\[S*!.Z0*/O_?HO_K:J9879G"JQ)\\L^MAT L@PR4K MA7U6F]]P5T_'X:5*&/^$3>4;DW-:&JOR73 QR+FLWNS[K@]' ;WHG8!D%Y!X MWE4BS_(79MEHH-4&M/,F-/?A2_711(Y+MRASJ\G**[^\GG&8SG M\]EB/@@MP3ICF.X@)A5$\@Y$%QZ4M&L#,YEA=AH?$IV:4[+G-$DN GXJ11-: M<0.2*&E=P&O5-;8\7NN_U%A!M-^&<%OCQA0LQ6% LV]0OV(P^O@A[D:W%PBV M:X+M2^@_1_ RQ./OBQETX..'7A+'MW"&"&,++\JN@9J[K9L+3&;PBO\?R4FC%44G/.Z?^K78?IOX8H\GVHTRTS)H7 M1SRB'WCLW_VX>Z:[CI(S71*W?RJVVSG7)=T(%LHR<9[^4$:GT8X[1W*K$1W1 M<&6VX]8%_Z31B[HGJV_;6^1$>'>C4N)6_MAC:Q;28U=E>:^N;T;BZ$!S< MJVO5 ],K+@T(7%)HU+SN!*"KJTHE6%7XZP&=#K1*_G--MSO4SH'L2Z7L7G ) MZOOBZ&]02P,$% @ T(,F5]L;Z ;M!0 KPX !D !X;"]W;W)K&ULI5?;;ALW$/T50DF#%%!T=1S7-T!V[%R V(:=ML_4 M+B4QX9(;DBO9^?J>&>ZN9,5V:_1%XI+#F3-G+B0/5\Y_#PNEHK@MC U'G46, MY7Z_'[*%*F3HN5)9K,R<+V3$IY_W0^F5S'E38?JCP6"W7TAM.\>'/'?ECP]= M%8VVZLJ+4!6%]'K,WSJ/BZ/.7D?D:B8K$Z_=ZJ.J_7E+ M^C)G O^*59(=C3LBJT)T1;T9" IMT[^\K7G8V+ W>&3#J-XP8MS)$*-\+Z,\ M/O1N)3Q)0QL-V%7>#7#:4E!NHL>JQKYX?/[I8G)Q^NGB@YA<7T\N/IQ].;OX M>G/8C]!-$OVLUG.2](P>T;,KOC@;%T&5/BY,CTQ M'G;%:# :/Z%OW#HZ9GWC_^UHTK/SL!XJDOU0RDP==5 %0?FEZAR_>C'<'1P\ M@7*G1;GSE/9GH'Q:SZL7>Z/!^$!<7'X]$[N"/H?# _&P>O&^\MK.Q:3TVA#? M8#TNE#AU12GMG9 H0@15Z!C$I!Y+FXMK%:*,B@:E 2-8BN+4JUQ',9E[E296 M.BY8W8FTW\5K&A&!@6Y2GAP>_B]5"9PNA;F.R15O4;:F]Y$+.85.X68*X M;2TZ\47>-8FSPS@A4V6UGJGS" EY"VVJ)RXMY#VL[:9,N^\Y-"I/GEOHI84; ME3EH9!;8WJ8_VXNM/_7F;; ]\?4AE87+]4S7>)L]S6I7($AHG]K<=4FO3]2S MK&:T(9)(1BZVU,-&17Y<+I6WU*?$N;;2LM UT?FZ<>'R_+J%79HJB&%O]S=F M$<9DG@N20 O/,A6"\\RB,-+.*[3PY-"VFUTA0Y-#78#,3)6KP+AFSI@4C9F2 M$1 #A N';X=E'_:%% 8;22)S1:$C,X3@OWP[Z W0$(VAE$A*24J"D:4S2QH; M)RU#I[\L@H%BRBE"346=2@:24)CA1!;65B'*JC8YWK,4A0,EWD24:M0W15X0C"!U" MA2A.[];U1, W,I8+_=U!8#. 0TODM\6!"^V5#UPZTRJ@881 D<$1AG'>2/^: MI).6%,ZY?XTP*(C:5A1BUX2[/LH(!7*T"%UV%2D(KRA":LD. EI]HJ:(-"3, M9)8X@@!UH:!_*MYG.9;WJ:8RL'E(U6%Q+WBP4:!&B#K'^K:Z"WR. @=0VT?& M;.RSM!5YT$S>[Q6Y!AP7Q4(N"=O=.L+PJXIHE2F/*[#D'Z'ZHUN!"=]=QW'KUH]+4/#DC,WR$5.!=A'R)=JOKQI7)L* IG7/Z03KHN44KSR1ILR2; MZACP#34Y_/_:-P /'JGX<#-MX%#_!'&;"4@!0'"YZ3=J:Z>YG[7U%FL^0H;Y M.R7]&V73B8XE)=$5Z[4?" J"1WFC^STUP% MX(N&15$ZBAG59?X-5A!,>&VY-*<*UM9G)TI/WE(T&ULW5G;DMLV$OT5E.)-V54:74>CL>=293O.KE/K2]G.IO81 M(D$),4@P #@:[=?OZ09)41)G'&_E:5]F) !]1??I;NAZ:]U7OU$JB/O<%/YF ML FA?#$>^V2C*6.W-X/IH%GXI->;0 OCV^M2KM5G%7XM/SI\&[=< M4IVKPFM;"*>RF\'+Z8M7YW2>#_Q+JZWO?!9DR) M?W?JM3*&&$&-/VJ>@U8D$78_-]Q_9MMARTIZ]=J:WW0:-C>#RX%(528K$S[9 M[3]4;<^"^"76>/XKMO'L=#X02>6#S6MB:)#K(OZ7][4?.@27DP<(9C7!C/6. M@EC+GV20M]?.;H6CT^!&']A4IH9RNJ!+^1P<=C7HPNWK#^_>O?WR[LW[+Y^O MQP$,:7F(+\/%FR)5Z2']&(JTVLP:;5[-'F7X2V5&8CX= MBMED-G^$W[RU;L[\YO^;=9'XO)^8TN&%+V6B;@:(=Z_7:*45G/7(N;(!+JX:O=5Y8=RA\S]I796FT<;/8 M2"\*"XE!.2V-R'3!ED1-1N*]+1I-3[VNB\14*3YXO2XTW"XA2.:V(O7@%#H MV4 P/P088G-CC4[ECA7%=4*0\HDTDI2%M%\+LK%Q?Y0R/'0Z2%=&KZ%O*H(5 M)5Q5.M(LX';D/9W7A:\<61%ODU ^J&A68CWY']AX%#D%2UQ9N)0WF+*PQ5G\ MED \/ &[AG#1/633/@647!E%6L0[H3"5QMBDT4_)9+.GAA/(UCM%6W9%H<'T M4$?YH'.F\@&\I2''LXN@[X=#SPM'L'UFL[.*-/5>D6@HA(\VTT 4[=])4'"%9 M%2I( -SKO,IK)JUC8"\B.D<,"\Y28H'<1)EK=44$YB/QTO.>SA&MB8;'2+*F M((46BLX@0LEGL"#';3;!V8\;0X@L4*>;)/:]9Q&FCH\@ 5;6 13)U2RY=LFI M,R"^48<./^:2Q@DQ\WJLWB<2A;@M.74I>.X1MRE%![[4ID/T_HZV&U4 <<@_ M:&Z\)<_LVOSIYLU6&P-^RB4:=+Y"5$8Y(_&I+YB"0%G;M66-H^L7653H@=K% MH=@JF/?D?+3 M1O##0O.8>&R6:"\]V0P@M[L3B.9O%&0W!HU#H*4^"$=G&0- MJ9Y0#!($/!)"/>E2"XF81&3 ?A53W.M[A!'W XKZ@2.SHX&3T?FA@9/1\WX# M(^) Q*XE/?+-=#1O%[Y3G=FWG-EFV_^9G90VF06L H\0@JC&CX33\3E\CDM+TZ83(?GRPEM7?1L39^?T];R9&NVO*"- MR].-V91\#2C)D$DGVY?3I?AB"22/7'Q\\'QXN5BBJ?.><+P*[%=P1(T[E?E\ M*3X> ^8+:G(>Y5/L M]SL%=<_MB9@/N]=#[<5)N/5$2VQMMCR$44L!5$.MZA8&RI63_53[A- R5BB. MX,6\22>BF(\N_W:<0X_I=(+K?YE:EX=J+4_4HM26:S2U:ZZV=16 4O;/M#Q- M=ZSNDXTLUHJ3/9ZONT3J*T5:N:9&?P,'24U"H!;5EL> N'BHLG6[:FF\C>W& MO@$G>ILD54F]&/I,)%@FDZ8YJ[CS]1N$WQF[V,5V9-_O'TI(#'R ECM>8H>N MN5FJBM,NA+:]^P&WV-D:E5L?^JGN>*.''TQ(*C%JB&L\S9O"EQ M#Q0VA-K'SE#["K4PROT[8 (CG@+/M[%.%G3(@%?E/"/WJO)HTWP\3_8W-YS+ MWWGFL[_#OJ.AKIYW'26+BU;8%5-AD%,8[(BRH]'*^K9@HW M*L ##"1H[5,=AG47#07N=$JUA>$\J358[RU[BH.>YG/LK:CAUG'B<>1),W(QG&"W51IJL\T)0S^PTP7N=:HR2-.G%\8=;]/TR MW^ 6L[/9G=EMH=(AYS?H*RK&=1S$X=C!,_&1Q*G,Q.:X;FKB;$\8@!$SQ%D& M)9(QNPX WPXU($-FDT<#3Q\]8U--2TF7Q8>'^+X1(2>^ _*#PV\TIOB*'F;( M'] G/LQRTJQL%0C.=,Y^:F^"YQZZ:=*D#ANQM95)*5;DG=01P'C$Q[ D*9>$O=U"G*C7IDW8_\44L*&(A%[*J.,T$&U5 &?&\/P;%!X!RYP0 .HM-C MO0/12=M+Z;[^+6ON,/X%L=E '-G'?3=D*YG1UG"MGL6 M#V6YO*X.Z^U%LW ,CM]G)(*,WU58)3:3T8JAK=4UAHS3_BN_(A%BTO)6.@K) MW4%/T4'P %[**M5PRX);7 !U">*GC)L M1LG.CW&'T6=J5JKE?7[P/T@TP3 MUVV[VM7V9ZN7\=>:_?'XF]<[Z=:ZH!>V#*1HD1>#V)TW7X(M^;>;E0VH /QQ MH^CUF@Y@/[,V-%](0/MCWNU_ 5!+ P04 " #0@R972=*5#K," !!@ M&0 'AL+W=O28T/%MRZJH1]FZ RVU'4C?:&1[DJ/1OB\; 6*WQ"_[U^L'2+ M6Y9<5JB=-!HL%J/HNGLYZ7-\"/@A<>L.SL"5+(UYX M<^;+C'+A%[9-;)I$D*V=-]4.3 HJJ9NO>-V]PP%@\!$@W0'2H+M)%%1^%EZ, MA]9LP7(TL?$AE!K0)$YJ_E.>O"6O))P?W\YNKF]A>K]XGB]N9HOI?/8TC#T1 MLSO.=B23AB3]@.0"[HSVI8.9SC'_&Q^3H%95NE\( M7Z^MLA?X>O]794/2?Y^$Q^/2U2+#443][]!N,!J?GG0ODJLC$ONMQ/XQ]G^5 M>)QD]02DV"+0$G)@>Q2-]LDC.5&2"66"D%X DL'GH8^J+!DLRR5!L%:HCC,?I"78@G+H?A: MT[13$F\:V8($>+22A(I\@UPK%@7%L R6FAEJ6TCBNBWGQK>[,3WCKIO=L!\<%85FA78?DX?G/MFPEMK>U^NV[&^D]XLQSO MA%U)[>C-"X(FG4_G$=AFX307;^HPY$OC:66$8TD[&BT'D+\PQN\OG*#=^N/? M4$L#!!0 ( -"#)E&PO=V]R:W-H965TW,!DC3=[2S:!$G:>:8EVN9& M$C4B%AH%P>@THSSO79[KL?OR M\EQ4*N4YNR^)K+*,ENMKEHK512_LU0,/?+%4.'!Z>5[0!7MDZGMQ7\*WTT9* MPC.62RYR4K+Y1>\J_'@]P/EZP@_.5M+Y3%"3F1#/^.5+9&PQZ)*ZE$9A<#@HSGYB]]M79P%DR"'0LBNR#2N,U& M&N4GJNCE>2E6I,39( T_:%7U:@#'[FGR?75X^WG\C- MW=?[VV^/5T]?[KZ=GRJ0CG-.8ROIVDB*=D@:D:\B5TM);O.$)>WUIX"J@1;5 MT*ZCO0)_JU*?]$./1$'4WR.OWZC:U_+Z_P55C:3!=DF8*!]E06-VT8-,D*Q\ M8;W+7W\)1\'9'IR#!N=@G_1WX=PK:3O.;W=/MV1*?OUE$H7A&=FU&[G+R6]5 MSDC4UQX(/**6C-R(K*#Y6J\>GTD" 1H_+T6:L%(26A2E>&&)GDD34>C$$W/] M'6601YQ.[E.:DR,<1#E1<*:?X:C^'IX=>X3F5DR:BIC6@H9!X 5!0.22@D*U MZ"ZH6&09S-?8"!0NPJ6L:!XSG%VR"@*T]#<*!B;$WJ,@X&\#PX$DX?B5IEV8 M+0AZ]XU%4&N?/&W9>29HF:#LA)=0PP3LG]$U_'MF1O )EB/ LH)YE;5;1)YHRJRHDT9S>0+7G&4UH:\$(R MPO,XK:#ZP8PP@2K21EP%LQA.1Y8W0>H)0!2 M)8\5FJ<$QSO?]6SC3EFP&&3'!&.6XREJ(I'1>&GLKY5(1%S!*:L,:DI6X"?% MX-.B9 P?D!E3*\9RU[.;]$0YC(%^:=J&:A\E3F Z5B9+"KJQ5U;&' Q7 'RP M<@$3=6@3JDC*J%2$H8GJ\ #>\ Q$Y86F%7,F'U(&A,&?4*7G+TJ(.M\BJA%K M3! HF03?D%3D"PT<$PG47S-:8J:L"QY#\J^]KKXE:W1><;6$+;'@@!7)E0X@ M':96D16^%_D]:.A-PY"I["UT-OJG>PJ)8YE,0,Y*%!E,WAH8TV2X63D M1=%PUP;TA4(HSU*F=YA7&/5[*DMMN3NK^U7-ZE"P:Q9#NS#SMX0S M)*+DR-I!)ZJH),2S//ZHRT'0/_N?__V]UFKGP'O_7EGS[/I^,)('AEP?35^/ M_!USB7S"S#H4Q6V=^/6#&_!]";&"R5Z/?::\)#]TKM=#C\9K]U@NR#UX6@^0 M)\A9:,N]B.0E=:'Y0* M#Y;6,E@K S>J>P,''EAMX ^'8+6P8[5H4JN*5:4K+?2BL;M@,/2##NSOVPK7,P 9W'TTZD3'?K'(&4P(WO,+ \_1A^!?7W(-+Y*&E[QUU;4NIZI:LIBI]:_RVK2A-W>0:8W#4Q:=5 M="9^&)$?QOM'XU8!&?FCJ*X+FKMNKPQ#?S1I8>ED*"2P"V0%ZH"BFCI=8K! S&&ZS]M!S&6#!\JMOH5%ZK\0-+4M1[SDS-Q) M)*>@"38*R(Y@-A>)F2.IXA+;3)_<8I7>:@[;OTL;BL=@/ "*D"A1 MM%Q Q@#@4>?2R+6PIWT"*]SV\]T@;@] $0[WPBA9SE8Z!>%#N5B_'\3# 2#& MWG /!L6S _=ZVK[58.CU]\C'] F]_G!0SS![V8BSU1574;F$_'GA"822) G> M1"2DH%S/M6O1;SC:N4,R*7]X:$;;0U/;6JO'77O M.]T%_C:"F-%7GE690Q1W[*:O$3#<7 .ZY\2."/B3&>367?]/*-\0ROKKH>UN MO]VT!OXDL,=20J:C]B-@AE\@.MRNLC]VR2/V+J-MS>=@ZDX+A_YPO*^K[$<= M4/W#6]\#&KAHXHJ/IFYO[UA8W_1N@M(A5V^ITHZD0/O#22ZT.:E];8#Y5K!< MFK<$<+S"9X8%C,+SDF)TG> [&ZR"'/9[L1=DY@K2'K3MZZZZN-U:8356AY': M6F*(CZ9NP*&B+JD*FX$ZG\U5Y1ZBC"M-O6S3L/=AB;I8(C]X@^4GE'T7DBNU MXY(5*?[8V1@J!EZ;QP+H]K]!?,M1L9 MBO^6.UN%-#EVSPYT<6QX9>/MVJDY M>U76QO5-LKM2PM$+&\J?ELPW4=FYV38W^Y4T)\]U2N/GD\=X*5(\ LR=+/)Q M?)R)A*5M'%!8D4U:W3"R"[R%;UWI-KR^N=N%X)45OFCBS!PC^I5#PD" N;.E M8$\J1:[/&Q/M%80T62TYE'PTE]5?JV+,".JG?*YU F*4;D[FEOK0!7#Y?#)' MNT*WQC _2:DMJ=]N,$PFCCP!N@O8W;A1,W ]R40<,MU=9:".27.JZW<$,WP= MTA9M#([S-F>:;=ET^[-)Y^TO)>3&=Q!J'HJD4K>#(-:\! &CSNB,IUQQ)FNV MHY:\5 BG$#!='^=T#1&+40M[,=UF::/FNBG19ZQ#[5$'FN]C>]MJGEDY9 MAG-D@@A":A@T MHLZ-BE0?F&)6K+&_PX9DB\-H;A<$:5=O(YK\^T6^1VP,;I M=>R\(6.87AX>%&X[I>'45 =]G>H=\0X%?=+BRFXS&./A8+.AUN7IS\6O":J) M?$?@ME+DDVV_B3AU?K*20;>C?YB#8B$^S*]7FM'FMS]7YB3IR"#Z@H *,> 9 >&PO=V]R:W-H965TZZ%V^XK6/YO)5 M6;E,%^JC$;;*#INN*0Z M5X7592&,FKWN744OWXQI/V_X3:NU[?P69,FT++_2PUWZNC?8:D438_1VXOV7;8LR7\IBPRQ.+ZS0GLR!3.9E53@K4/;"8:O5CR+WL584:X%( M;9I("5FD]",6J9[-E,'[F2ESD90&?EN61:J+><,30I:5PY[I1LCE,MO02Q(R M4ZDR,B.R96FD4UV-^+FP MZ"6[;CBZ^-O^/\!'W7IH?;2[DWW&_@HKU\$G"O%*Z$?'=%7',&P^$N-^?'JR M]7Q^.FR>;WP0BD0!-RWPB1Q, ?GK-C^X[7 HVQ<%>@8"$J+&FD)PXAJJ\632 M_!Z-SYO?GPN#=)P7^@\82G19:2W"4JB9=GNR)_'Y0;VBN'W^Y>[73W?[E,/) MON_C=NWV,5$0K!Y54E%WX-2$J[E&]BC'P^'^VKCEAC:!)E"TV5H70^$TW+-+ M^=/)>/3S_FH4#]M5*N $U:11-7L[QY/#].-V]1X9+TVRX/I,U0IYOT1'=0U3 MF7Y!C^&E/_-P^'_2C\ZBYND#BLQ0E>6R("YIDWJ6A;8"ZH398ZB_OED/U="7 Y4U#?"VQKP<10-)NC 68;4&/S?/&/F690. MS=P!HR3ZWGNXYP-<*;E>?Z62^(ELB(<7[S_\RK^BBY_%M31F,Y7)5S@'/J:: M*XTC3(0J4^E8N$Q7RD 90OTRUXG0@/H$$4?!TOOK#[_=W;R(SI$)VFK$AA8_ M#QX&0*)B;J@JEM):*D]N%*8LY$J;"CNO=-I'9F5:S?HKN':=L?,J.&@[0JK2EL4B] M,+*8DV\R-=J&(6%91."S"Y?M2 MX4%HBJGV*YAAZ$3B.M CD>I. MCU5NKI6KT"6!8+UJ@7RCHYS32&2A*3-.GF>RGG=R C MW(::,'5&\+D!VEAO!3-$DLSU-/,UT3*"TY0Y;%B=;MMS28H20S 38MJ4%\D* MA26+BOQ0U]:P+]8+C13BU%@N3?FHJC\VX5=X8@U&$MG2F6*$D@^ S. M0GC7VBWXW1WF!U, S>\!ID6ED/)FI=%GN]E^=__0Y+E1OU>D.YBT]N/@ 1=P M=+>&EJ74Z99]]J"!T4F#"V^U3: -K34B_2P630YLFC2;M$\*5SJ\\8,9J;/C MK2@>G 9OB12U'08US_'I$$3[PN,H"!^(*U?/;RBQ*G&=Q(7O "JY9]J=_A2R MM_!S7<=H-K9CGUBC^5#40-W1UU+-IN)WJ(CX!5FH3FK.76LN@A)B4<,S3029 M2-AC1U=X7& 4_),9@NT??='HT-?_KND_?>%M: M9\;]KM".EA)]GC!'I4'96C\^_VJG/:H04T5@JA1S1LG/9@05N?P"%]]^O!;6 MIS8-SN47ABXD36FX=$L!H,-<,_,P",?Z!Q94C_F08H)MKC/(, KG<@,7KVAX M5^AB*V@L"2C &=NJI#T,[(WU'2=LAS^.D%EPN>**RCR> L5%(7GC 24=088"1Y>J49QTF+J@@PV^HGEJ75 M'M=K21T9\6#:X:Q$UUITBZ7U\&C0/5O>USAV MQ<'>/Q'N@,+(1V0J,\GS(6A*'A]#(=+ T;J02I;T2NF7+3.=2CZ\>7+A[ZR: M?K@52:\6K%=ZQ6E%VN#\QP"[E5 'PF4/ >')X+P!0F)V%$T&H];9=,I5?,&4 M;7Q;.:!/HVLG;,UQ#XD_5;7*X?@\"B,7))?US@FL!6)5$J7X!_-M7U31X@OJ.+[R1(5038R6XS(2$NG##E.N#O MO,KJT 2F\J: =EI/Z/6DO@EW&CN-_[P/KHE:.F9@ 4$4!+0I3G+_JL:& M %JUI_NMFSEF-2G'COQ ;9/'4D!!>VF"Q;*H1RUO*^4)!O1-IYZ#2YK"MW.K?U+Q4(=K[FS[5PC.-QD-Y]QZP-;,1YOL?[9]!1>>[ M;6!2HTG82^B<)*;RA<]-3C4KK8S>2$IB:$! M?=7PH[M==-5&EB!Q?* :D&$D0AL-N_\6N'K\Q1YY!<>_3)T?#F MNX5L0U.JN;\V+85GD?U1TU^OD7;-]>*A+U;'G0^'?']>^_!]02P,$% @ T(,F5Q^M..ZV P E P !D !X M;"]W;W)K&ULU5=M;]LX#/XKA#<,&V#$ENV\K$T" M-%T.VP'MBK9W^ZS:=&S4MGR2W+3_?I2<>$GC]:[M#H?[$DL4^8BD^$C,="WD MK1Y*LZPY&H@:JQH)16RY)JF('OC[R2 MYY4SGUK9A9Q/1:.+O,(+":HI2RX?%EB(]?%KS%5ZA_J.^ MD#3S.I0D+[%2N:A 8CIS3MC1(C+Z5N'/'-=J9PPFDALA;LWD2S)S?.,0%AAK M@\#IG6!0&B-SX:X/I=%L:P]WQ%OTW&SO%=5^^?TF#SL&$_\G!L'&(+!^ MMQM9+S]QS>=3*=8@C3:AF8$-U5J31R.?4T(9MU+]Z@+%J4X"-!H3J(C_>16+ M$J%&(FW&)0(O15-I!69,2[75Y I241"9%;RW:HH,06>B402H .]CK'4K0ZB$ MQ@]'UAL_/'[U]SJ3B'O%!E0J#[94MCJF9,Q/ .<_@MHNO@46N./1>$<0N0'I MOM2C;Y;W)B]W*.D:@ZHI;RB#(H5-=N@J5)I2DU>K[E1N[ $\QF*A&_GAH3AR M61C!,DWI*K/ 6L2WP-=<4K[?LP\]0!\/92Q\H;/;&NEQ=Q@=9H[<#:+QBQ-Z MWE>)SP59[.7W+?B#C\.]:>C#IT=A6:WHL99)+]W_MIBUK;ZRK3["&B5=ZZ1DGJ@VU?1,V0*Q7"J:!"T:VN.WQKS2>:?9%H.H MS2.GB*:TESD\3G"KE<05UVALQI.ARZCNC8N3\<@=4T5MSSPU[*:P6BR7'EM5 MHWTNBX?!+^/N57[_2N9&+GF^*V#NV']YI?URZD[ZN#!DH^=1=W0H\_U_@[I1 MG[LC=KC_?TI=-MB\9EM23E@/=4G+W]?:IZZBXOM_$G?")N[09\\G;E]+XNUT MBB7*E>V'S>;TSK=-8R?M6NZ3MM/\H=[VZV=.B ;'O@=J)% M;?O.&Z&IB[7#C/XVH#0*M)X*Z@TV$[-!]T=D_AU02P,$% @ T(,F5Z!( M"7;Z P 60D !D !X;"]W;W)K&ULK59M;]LV M$/XK!S4K-D"S+?DE3F(;<.(,=8LF@9UVV$=:.DM$*%(EJ=C>K]^1DEUG2-WN MY8O$E[OGGCOR[CC:*/UDG>-0FW&013L%Q8\ MRZU;:$]&)8>-/W^$E2AC_A4TMV^T%D%3&JJ)1)@8%E_6?;9LX M'"D,.]]0B!N%V/.N#7F6,V;99*35!K23)C0W\*YZ;2+'I3N4I=6TRTG/3FZF MRWSV[O9DN8WLW@<7$[77Y:_ '+Q_N;#Z.V)3-.N)TTD-?NQZO^W_Z7$/V M7H=TJ7-I2I;@.*#<,*B?,9B\?1,-.E/MQ#%\/;- M,(ZB*_BN";B7\+Z22(=0'T0(4YTQZ0'.KPRL%-,IJ#6D7%/**6TH.Q+!-*; M*'^SBL;PI6+:HA8[2)C)2?:9IRA3X!)LCL *54GK4,XZK;@/)5(!R0G#+26J M*"B1*2>2IQ V.4]RV# #)>-I_7FHM*D8 5@%W!I 8]E*<$H/$M JTZP 1M98 M97.E^9_,50;CMAR-%%:[[SH5>IXWJBB9W)%;9:63G,I"6O,T3MB9/B8+::6Y MS+RFX5LHZOQ EQ\45 K&_G9[=C2(6S [Z!AT<> J/6$\&ER$Y\/AGH2#B<)> M%(?]B_B(VF!91F?&+-G6/*FU64F1VG*JA4B< MSP:MN5LZ%H8M%9@-8;<-?44_R.#N81IE5%;:"PY-G.Y%OXBPP+3JFYV MT\3"SV[3W>2XR;QY>;:F;Q,XMY]EF%M=!42)PD3__M;"4QQ:].X:>\+2&+WV604=V3.0C\LI(JHP:G:NWK7 %-G%/& M_;#?'_D99<*;3=S:HYI-9&$X$_"HB"ZRC*KM#7!93KW VRT\L75J[((_F^1T M#<]@/N6/"F=^@Y*P#(1F4A %JZEW'5S>#*R],_B+0:E;8V(S64KYV4X^)%.O M;PD!A]A8!(JO#+'DVCU)6=F& X_$A38RJYV10<9$]:8OM0XMAXO^$8>P M=@@=[RJ08_D[-70V4;(DREHCFAVX5)TWDF/";LJS4?B5H9^9S3\]+Q[N;I_( M_.%^?GN_>+I>?'BX?Y[X!L&MB1_70#<54'@$:$3NI#"I)KB8)S$O;#J ,O:C*-'%[T]DPKH,%A('M,+G5.8YAZ> XTJ UX ML_?O@E'_JH/FH*$YZ$(_A68WT/W#XI8$$7G_[B(,@BMR!)@L4L""^DB'CX1FA M_C,TOB<$",X;!- MJ@!)5_4&MMX(5LNVJ1:'A(/P''UU#N[D\^UY%2&L(XU>$4FSE]/C])RF=>J, M;CNFBCZO*X\&L>R<)K;2*B"A3NKM G"XYK\ M+UF%K:Q*^8,Y#<;5#@<=M?1SLOE.>9RX0XZT%*\X03N7P_D'O^%V!F/["&HE M.FK]+4J\3HC6IMKLOB/#\3WMSJ"VM[=S#&Q#EQRO9,KMU8P;IF2VJSU[Y;=$ M;]]"T="*-MPK'YM>+)4]X%(D3*SW2=0A"-76>&__>^3Z9W :64[UW5T?T-,X M45%@V]FBM7#NPBAL#=%(8PM\,JM^6ZGHS4K-N^C8JMDGL\=E_",;];4HASH8 MO]5>8M"U:Z)M4X![6G6:S6K3IU]7[>D7\ZK)OZ-JS80F'%;HVN^-AQY15>-< M38S,7;.ZE 8S=,,4_S5 60/\OI+2["8V0//W,OL/4$L#!!0 ( -"#)E?& M@_WC1PD ,(I 9 >&PO=V]R:W-H965T0-OI=KM VZ#)[GYF;-H6*HL>2TB\ZI)TF M!>*=+Y%)D9?W\C[.(:.S.]W\:"=*=>1^6M7M>6_2=;.W_7X[F*BI;$_T3-5X M,]+-5'9H-N-^.VN4'-I)TZK/HRCM3V59]R[.;-]EU\.I7- MPWM5Z;OS'NNM.KZ7XTEG.OH79S,Y5E>J^_?LLD&KOY8R+*>J;DM=DT:-SGOO MV-OWPHRW _Y3JKO6^4V,)3=:_S"-S\/S7F044I4:=$:"Q.-6?5!5901!C3^7 M,GOK)+L0R#!_.VT]/E9&@P+>O%4]XO]\&9D$<[)O#E!&[U7BQDM?Q#=O+B MK-%WI#&C((E'S1=3=IR<=ZJ(;;\_M09ZT37^GTGN\5^*]Y=4)B M1@F/>+Q'7KRV,;;RXE^Q<2%"A$68U'C;SN1 G?<0^ZUJ;E7OXO??6!J=[E%0 MK!44^Z3_G(+[17S]=OV1,$%^_RWGC)T23R2Y4F,D4]CK3M>W4 M(R)K@I^JF35EJPCRG=Q-RL&$#,MVT*@.764MZT$I*U+6BW)@\JILB;R5925O M*D6ZB>Q,C[J5U5QV:HC5QO-*-M4#N7G :T4^8%%9/UA%L].6#":E&A%UKP9S MDZ#09%0.5$.QNC:BS)S%&%2B!FO68Z3=H+1E82I_F*%EC2ZHC@0QKR?8_DX3 M655Z "6@0ZOGS4!!TWIH!LNV56UKAD*D-:4>J!-R'5 /NZ6;SAK7;G9PH,=U M^9>1?*OJ^5KP8-[ $A1,B*=$-K"F&4LSTB[;JIELC$(WKZ,*?-RL\I E;=F@.DM7056AIP0E%K[NILT2BV,+.]ACBTP MRA08@O+PL"X/=@A^<+HM<:WQG3(J:[.K>(W@/2%7%H"L4VX,*EFK$'(=#'+V M"A:AM"\V91/Z,]V6-NZ'*+G!G]=V:UQ86;^ZU/#HNO6Y M'B(UC%LW-'I7=YF5.><+634'3/-JLRMA.J3RFF>#8IPI@-*9DK&JD3F7# M50Y-*89GI*WIJPCSG)#0I$B]7D:%\'LSGGE]V.B8^_,CFD0,P8$X4.2X@M5O MR*A!4"RS6]>^*HS3-$F\;K@N%EYO[G<=6UW>^'*-\]DRBDI7)6I*J;.0<=&N MS3Z.-Y(3)AQW,98_LO1&C4SY7Z[5R?OM<$TI3[G3L6WA$7SN-& 59_EF;412 MG!2K!2%[Y=M7JPT"(N_&M!OU K 'RR M'I= &]?/?HTI]I>@X(0_#%D$\-FU_)3)O3Z>1EY?4?A3?;_F.;EL3()V#Y3, M*@D4-Z5$_3DO9Q;3Y7!8[LA=$5"$^XHP?]ACJ]?IF/L5Z+6?'^:-)82&KG:N M;V-64%:X""-,)8W<#LJSV,WJ%( 1;\U(*$/Q7"U2E?*FK+#!@3+-\IB*R"^. M0*$B6+\SYJ<)JGH>D6+81FS.Q4R@7-,ZSES$OE('$#SH&UN>G=QX(3\,T-V4$3*L M%WHFTQ(T$GZ>H&H$:J[?2F&]1"KCZ/8PG4.C?J MMFT[(NYI ?;$J7CCVE%$^2$I5H%H2 ]#L0!;W*^WK_U\*<-BJ>O8=#_?XLBC M_?0J#J%&('FC -/Q>C)4J9?R*^&[)([]S-SAN1#ZBH#.K_W<2:]XDM,L<_,7 M6%6DV_0JVSKRYWR+\V!&!E0IXI^C5Z:@A^AJ@F+MEV7H4OC^30-'9B8XC1C_ M_R17W.Q9'GO]HJ!1X:]NMM./?<@H @1-&!Z0'3[$'C^ORON_S;56AB,%=Y/ ML-[4/4*D5 @W*0(U#N>2B(O=W(J)C KN(*V@J5/VA!?J6SPHRBR;";,KA* 3 M&0ATE\-!\V*GW#A#MJ?W%F[7DFU4J18GYZ MP+,L<";WNXZM+@&NE=(R'B,X#X@Z\)6@]0?YF)+P)V'O^]X,>W:N@KQWX=G[.5> M//&W(PD<[CGS 2QP(0TT3%[,OI+81\,0:C_C=LLHY%.(0SU?%Q5_Z<(!#)_R M[/'-&W=1,:-)_@3S!^TR!_C=J!A'U+U(C7/*'7\E6^STL7R6"7O#'T3%&'CL MU,&,<@B8IKYF8(B'[P(2 )C4:)2'Z" BDGR&">>0D60 MPUB$M,E#]\@!#8^M,CXL H(2$ <7%K?Q$'G']WANXY?R$8=(X:H<^X^LYW=5/5C.W7 M@^;+B7G=+3ZQ6_>N/U!\M_@N;S-\\77C%]F,2]A4J1&F1B=9TB/-XHO!1:/3 M,_N5WHWN.CVU/R=*#E5C!N#]2.MNU3 +K#_;O/@?4$L#!!0 ( -"#)E=0 MXR9F*@4 " - 9 >&PO=V]R:W-H965T=^\OITK?0W4Q!9MBEE9NKW[O7T5-56BHKN-3-U67+]?$Y2K<]ZP]YN MXT$L"^LV!M/3%5_2(]FOJWN-MT&+DHF2*B-4Q33E9[W9\.0\<>?]@3\$K4UG MS9PE"Z6^N9>K[*P7.D(D*;4.@>/Q1!JK5FFEW&FANX4WUTB G*A>41ZOQ M54#.3A^_WM]?7]YWL]N(*J\?Y;.YWV=7MY[N'F]G\ZN[V=&"A MT8,>O8(^9C>JLH5AEU5&V;[\ $Q;NM&.[GGT)N"76O99/ Q8%$;Q M&WAQ:W[L\>+_R/P&/3F,[@KJQ*QX2F<]5(PA_42]Z8=WPW'XZ0WN20O] ME[F_C7Y[-[]DPQ'[\&X2#:-/[-]H8W>V((WTU9HJR[@Q9 U+%4K96,J8RAD. ML%Q)] 11+1FW#)%];B/+>)6Q+[RJT2?:S1//)8P__?*SU=5N=%2]/.SY^)^K M*E4E,)-,"O6?#<3 Y'G4W1D$<';$' MOD9-6]*"2P/A)WA-@'P7$8L_NMG/RP0@%;%P+HZ+6XE,G5(%T-G'%=?VV=F*<[;/9@9?&MQ=II(K MTWT+4/>N,C*A_UHYRUHD]S%%(00(=.X MWR,7W.PX.M?O.SSL)RV$+;2JE\76K3L+'82H3(TL2,D13(G0VKD/WUX'VH\8 M6I<554W>1ZM:F_J@UW@&#VSM;9SG0&Q32JVIWK',BVJ#]IC1?.U:FLLZ8NFG T%U4#N@T$S,I<76>^-RLI,N]V8_' M-&Z]6XCK"CW:N*SR4D9L6-G,>B[?LA>..S3N##I3:TEZZ6=SX[/=-@-LN]N. M_[-FZOUQO/GO@*:R1 @1V!RB8?\(T[9NYO'FQ:J5GX$7RF*B]LL"?V%(NP/X MGBME=R].0?NG:/H/4$L#!!0 ( -"#)E&PO M=V]R:W-H965T=D5]RXCR<9$9V MG-9MDGHL)_L9(B$)#4DH &E;_?5[[@4(@C*M.FGWP\YX+(D$+N[SW ?YZM;8 M+VZI5"WNRJ)RKW>6=;UZN;_OLJ4JI=LS*U7ASMS84M;X:1?[;F65S'E36>R/ M#PZ.]TNIJYTWK_C:I7WSRC1UH2MU:85KRE+:]:DJS.WKG<.=]L*57BQKNK#_ MYM5*+M14U9]6EQ:_]B.57)>J%WS6ZM8EWP5),C/F M"_VXR%_O'!!#JE!9310D/F[4F2H*(@0VO@::._%(VIA^;ZF_8]DARTPZ=6:* M_^B\7K[>>;XC67-K;"T&M3H"XO*N\&.I/'#]PXK'X8*IZZ<1YE:N\OW\? MW$<1QJT(I^.M!']MBCUQ=#@2XX/QT19Z1U$E1TSOZ)]4R9 >_#%/AH^A:'OI M5C)3KW<03D[9&[7SYH=_'1X?G&P1XDD4XLDVZF_>*I=9O6+/-W-1+Y4X;1P6 M.3?$ZG<3$Q.[D-5(7%39GOCQAW\]'X\/3O@:?S\\^4EDILJ;K'8"2&(E$7$@ M84VS6 J-R[=+4Q3K77-;J1S@,',ZU]+"N4;B9P6H$)?F5EDQ7;M:E;CX_OV9 MD%4NY'RN"RUKY>+!/U].VV-/Q#78O#(S97'&F2E7LEIO\'E]==8MG]2%K&J= MB4MK_E!9MTF\UZ6NP=L#ATXN(Q5>,@7V+96MQ >@7$%7SN2L4!MG3S_$77M> MB;P9.YTBE3E$6"[K#94(:94 <:4K.:^A%<0_ ]R-*M8$DLI:;*F-D([M%$X+ MHNR%(Z$;KW\HC(^%#"->W\J\LN9&YW2@F#=%(:RL%HJ,KZH%#*^LKA8C6I4U M5@&DZQ$S7=N&T99^E:5VA-V\DO)#K2I998JWD8:!GF#;K/QVEEYERTIGLF!B M %;L%10:.@,KD(I87+$[+%05O FT[1=5[['!@9ZJ8]8#J+).Z"HK&I)G9376 M:VA+ W^0VW*<'FB"+W@JEH/%9@:$$TT-:]?LBV$).8E07QO-;,,XJU6AZ03B MWY#A671E,PTQYMJ6\'!=+X73BTK/(5P\SA(9K[VPIN6WU9 3A! M/7QVXH*L4#9DL^O.FMAE;$V1@6L+4L)>=$L$IIO3?'L([9$(18& MNJOX0-HX5SF,UKOX1I) MRLG,._Y2WB@Q4ZH2B%Q4^2T>]/C:0T")CP: =OBDGZR7TK6Q 66CX(&O)WI& M6'$#X_LHB@F8*B33@$BX )4AX09M(MJ] 4@_]S'6<2>$?.:JL2OC%'-1RB]TF=59=3B*2["=IB+#^?1_ MG[BCD&Z-1CDA,9M0$MS2S;UM'AOL)GR7+)DC-!V=X;TU'MB=>#F53])20>35 M#!3)OL"M 3 NL,RE!9R6-, HN;1*^<7Z#LF%.Z?@?BD+O 1?QJ.8RQ_%3R;= M4LS1FKMXY",/XE*TJ6234\GP[0K<"!YV8@X!: /9"T!A48$$\G\-(EA'EPWJ&+Q>X3?5&"GP&XK$(0 0 M%0K*3M/0LH")"B5SZ,)[,.F&3R'M?(LOM69#M0*."S@]A +E .-_-)6O+]D" M(3RWD_2HXFE27Z%JTP5WVKQ0F>$HY^5MVY)8F#J0"(<>83TUJI)8@:2KU*V& M0'KB7>W*[X<8-!(3AP>[OT78V(#:@?P8_>6=7TK7NEBXJ$)"TE4HFM+JKOX[ MML$*#C-X-[SB#U1O0<$^79$"<)P,41:\$%%-3:Y ,H9?^?H2"9:T7"ED<4>B MD?#HD*6VW7DM.G2L((_I='C2.O)@*N&:'4SW,L4 3',RU*5 *M0FYXBG&JV% MXC:=XX"DZV!^J_7&9M8 14,K6&B/N3"_42W;VTGZWG>#,.X%%=$0(7&1;97P M<:R$C[>6IU?@MJK!Z@6:%)@E+42MJ? ]\PXP5/G^0Z3);3]("R_J"H%WT?#) M-J!GE4L+0YT:?/1RPKO)]#1"I[YW8K?UTXJ\O)L\33_%;73\[L&8IDR 1N_@ M'+[CDW-?4GQ0P%(_Q?K5P$[B,]8P9/YXC:C+Q-'XZ*>7Z<%DNH0<@<.UO!-G MB %=@ZW0J($OQR4E)()VN(@S5*9-2OKJ>^'V^&O"GN!PP6=LJ^P@>B\_]93- M>,6YA;QUC6*">KF _: &MCEK("^25X"C7_-\#'-E=]%EWUV59_FMQ( M75 %O0O@W)U*E-)=W3#DGEO)#<^.MYXA)K6O=ONU&$D-R(D[8?%=1SNCB[V+ M$U44_UVE8PD.J*P@>]4> 6]DT8 :9[BF0O(K])^XO0#T>A1#BG8T2JL4@R22 M#KIH418.9GO@_D MT[^JS=-6H=?9H#J&E"7-64(5X7AQ8AN0R_O]F5NA2T)+*C35"]R<^L$IA^16 M^I %$6UIXBVR GUAMYL*P7?3].1XZ.U2L7[P;[TQ'M013V+[$=V/ 8?R+M^- M*8:5FBO$IM?](#2>F;QCK0/(;C0_1K6"OR=/=P_]Y')ZEEP;AP;FGHC$\X:8 MF@HI1=[.1I,/1E9?L^T.%]4CJ7VEV(XCAQA&0]JE)ZBM\[+GP/0S'M'@+V-0 MWN7^WA?;><.EK_?4NZ:" 'K<0#.1:3I+_2@ M 4#KR^>4U&U7]O)<.W^8Z$S-34 0FE,B3$ "A2K9G;6;F47%0D(QL1#RS0OD MAH,XH -5[4D]U[9L[2DQV(94QHJ0(N2JUM ):E'AHZ[9[XW?D\F&Z5%SPLU&5Q5./%8SS280A;TB@) MOKLE[3V/:>_YUK3WCOSY,_GS8))[]&8.5E^D/!\?B)'H[J&ND"X\@Q+OZ8&2 M..2ZZO#P!"EAU=2NG52PJJ"YKXWA)M3R#%BWKP:$YTAA:,](2=5J.PNS<'XY M"X^#]L)1XZ&C^O2)FM,E$,X.T[K/P0FMN$^EX^DQ)%MI8H]'\>K/8?IM!F.V MXR(SHVJ"P9BP&!XV4^RL9F:L'^:LTT7^%$([V>KD:%C]R:9P:$P7/MVG^='< M5B194_)#9Z@;YK'<_8I^F*"LMU7S(XAN'C5$&'';9AD?Q:W3!KQF"%L" MEW8I$8?V,P"44^D1851+-[1- M$EU;CM9U&&N0 'QS2"/CT4/"E3[D\V^3LA\Q@S(^X%5IELLUSWE\%T(7NI8A MN$KDCCV[&R3X5-UPJ]1&BH^$4'M(:WFTX>5L73CV]2V$/V;(VHT)-BT5ZN=0 M9'F61Z&TY;D*PL7'D2^#_,0O5SS#B(75V5O7/6R.#VRHD=,^Q'EH8:K:PA#Q ME':TT9Z>(I;O**1#XTC[$6RZ;$_?] 'WV%BA!YE>N7-#:9&[5/\@8TFSE.W/ M(WJA]DAGZ9 TND$8)PWT2H,>\I+A\^#HY/_FLZ^5>'53,YO;TF3=_1YO_#[Z M[O4A^X2/;[GZX1YJM^O^+0['ST8'QT^2*V'*LO7*\?/1\9-GC]HTV0JE0S9( MZ;2?3U^,7KP8/WKY]UZ_-K4LW%;U;'#R][2SI29]$6O2%UO+RIB"IO3T;:@L MW;I_>/;2)]JE.7["URO;FS@JXV:D;<$OJLS7L,"=',U35O-];LQ6C,"7-[&3FN[1^D]JXMO%'PR$7/2[YM3*/]3Z] M]-C9HV<"&]>ZI]*<@%5=%^VC1^OG% 26/FUS6<4S Q2=?D3GPN!_P<_($B42 M(^$='1JO2YWOTF,6N=+0W]]FI. WE@;X:'O"Q_'1)BAU5X?A1QA\PFUNM&D< MUY=^TM1[K+=%LDFU;B=2U!G?T;C>VY7XYXJA/YL##U912:SRI*\<"J/]Y"5B M?IN)7I4FZ4'3OT\1NN7^5^X.T"Y*J4'-L/=A[]G1'6/]ZM/]1 MFQ6_DCPS=6U*_KI4,E>6%N#^W*"<"S_H@/B.^IO_ E!+ P04 " #0@R97 M0\EDV=," I" &0 'AL+W=OLHUW5[ MV4MDR=(GR;:D=-=2/>@E@"&/*1>ZYRR-R@ MX[UBX&\,_"+NTE$1Y14U-.@JN2;*:B.:712I%M88'!/V4D*C<)>AG0FNAN'E M=#29C>[&Y.Z:S&Z&9' ?CL;#,"3]\149],-1:':G&9UST)^[ MKL$8+)(;;?P-2G_^*_Y:Y%8*L]1D*&*(?[5W,?8J 7^;P, _"/@EYR>D4:\1 MW_,;!_ :U8$T"KS&OSR0?>=0NFGN=V-K[5QG-(*>@\6D0:W "8X^U%O>Q8$D MFE42S4/H08BU&^<&ULQ55=;]LZ#/TK@C<,=X!1V_)'G"X)T.9F6'?1M8C3[5FQ&5N8 M+'F2W+3_?I*=N!Z:Y3[L82^62)&'AS))S?9"?E<5@$9/->-J[E1:-Y>>I_(* M:J(N1 /=4,P_[?N+5A')G,>MT]W(Q$ZUFE,.]1*JM M:R*?KX&)_=P)G*-B30-* 6M@2LJ.)*PFSM7P>5U M9.T[@Z\4]FJT1S:3K1#?K7!3S!W?$@(&N;8(Q"R/L 3&+)"A\>. Z0PAK>-X M?T3_V.5N MAASE]J=D6II3:OST8KWZNOKRL,K0Q_7=+5K>?=FLKY:;#'V[V7Q"RX=L[ M6F?HGPW9,E#O9YXV0:VKEQ\"7/X;LP!@?&5_C MLX"?6W:!PL!%V,?A&;QPN(&PPPO_Z 9.)=[C1J=Q;3==JH;D,'=,NRB0C^ L MWKT)$O_#&=;1P#HZA[[(3'<6+0,D=B@77 E&"Z*A,(WR"+P%A0JJ2%E**#OU M]AF5($I)FHKFA"%B.OA43N>COGN38C_\@/[6NJDDP"\%A4PY/'?E<+3)Z-/_ M6!Q76T#V@\^2&"$%X-5E+K^)![$(';C\#7/B>\F_?EULB M2\H58K SKO[%)':0[&=V+VC1='-R*[29NMVV,L\<2&M@SG="Z*-@ PP/Y^(G M4$L#!!0 ( -"#)E?Y!;T]30, /,) 9 >&PO=V]R:W-H965T &[_$=M,V"9"FV=:A+;HF[7U6;286 M)DLY26[6^_5'V8GKKHFQPP;<%\NDR(7(/ F:54!34HJI6GUPIH5CD5W M]/_$*RH0S'E:Z6S4>RM)P)N!6 M$5T6!57/Y\#E9N0$SDYQQU:YL0IO/%S3%@Y*Q H1F4A %RY$S M"4[/8VM?&3PPV.C6/[&9/$KYS0J7V^1?N"2T _['7C]9@7Z%5[_EU9@7^(U;K0?UW;3J5[3%$8.MHL&]03.^,.[ M(/'/.EA'#>NH"WU\*9Y &^P.H_=1ZW;^\&X0^OTS\JLCEN*Y*D6CH*+$UGZE MVXVV7/5GGDMEC@RH@K"7-!K#]V00N$D8M11!'+AQ$)#)$V7<[L0C/(Z.-.5 M-*2E8H:!?A,Q/G%/3L*][(/PC"RDH?P @R!""D'RED)'Z>*F=''GZL_Q8,U* MI"Z7A'8EM*^PW="_J["_>VPV2E7_G_6:<+PRJ$B!X.(TVD]*:GU FFG#\*2& M["U6@7N._=.:F2K(F&G$>X%W&G]EL4?UD;(7)E.I#;G"^+CW/N']IW?" ^4E MD/O>O$<6"*%+; DA#>C3_ZT"%TB("2(%$".)V4CR#%2UMWP8NT$2MA2[/NG2 MA,?M'@DC=S!(=K%L$!LK5P _1-N-_=B-8_]@A_ZL/HJB?="!G]1-WDXS\=WC MX+^F>1SZ+:D^5_:=!%[K(BY K:KGAB:I+(6I[^1&V[QH)O5%_F)>/X>NJ5K9 M+<5AB:Y^[Q@[7]5/C%HP&PO=V]R:W-H965T4_?K9"80P**KV<5]ROO/=<\_YY9S!DHMGF0$H])I3)H=6IE1Q8=LRSB#' M\HP7P/1,RD6.E5;%PI:% )Q403FU/<<)[1P39D6#RO8@H@$O%24,'@2299YC ML1H#YG0&KD7X\#X M5PX_""QE:XQ,)7/.GXURDPPMQQ ""K$R"%B+%[@"2@V0IO%KC6DU*4U@>[Q! M_UK5KFN98PE7G/XDB!+)(RW1C.#JM0J6I,C MS&S*5 D]2W2 M&U@ANN-,91)-6 +);KRM>37DO VYL7<4\'M)SY#O=I#G>/X1/+\IUJ_P_/<6 M>ZC&&B(X#&'NR(4L< Q#2U\"">(%K.CTQ V=RR,$@X9@< P]FNH[EY04$$]1 MS/,"L]5'B8I2Q)D^>0DB3&&V('I_$)82E.P@KC(02&68H07GR9)0>JBJXWE/ M3WJ>XU^B_T7J@[-J#L[6BEFI&\_^Q$9.I"+ZHNN%WEBN!9>RT49Q7.8EW?&X MUXWSW[R?)*0E1;[Z^T$?754-2I\_ ;2B)3-2M'@X?_'8R+X; M[MG.'6_/YKG!NV+#[K[-"QTTXPK3_?3;,KJ=0"_65O<[3HN&*3-P_2/^7J?G MA#MZZ/0/-0*[U:+U@BVJATCJ2ZXWL>[6C;5YZT9UB]^ZUP_E'18+PB2BD.I0 MY^R\:R%1/SZUHGA1-?PY5WIWJF&FWVL0QD'/IYRKC6(2-'\ T1]02P,$% M @ T(,F5_=,M/C3 @ J@8 !D !X;"]W;W)K&ULA55M3]LP$/XKIX 02(BDZ4L*M)4H8QIH98AVF_;13:Z-A6-GMD/AW^_L MM*6CI7R)7^Z>Y^Y\]I/>0NDGDR-:>"F$-/T@M[:\"$.3YE@P5(@PCJ).6# N@T'/[SWH04]55G")#QI,511,OPY1J$4_: 2K MC4<^SZW;" >]DLUQC/9G^:!I%:Y9,EZ@-%Q)T#CK!U>-BV'+^7N'7QP79F,. MKI*I4D]N<9OU@\@EA )3ZQ@8#<]XC4(X(DKC[Y(S6(=TP,WYBOVKKYUJF3*# MUTK\YIG-^T$W@ QGK!+V42V^X;*>MN-+E3#^"XO:MY,$D%;&JF()I@P*+NN1 MO2S/80/0C3X Q$M [/.N _DLOS#+!CVM%J"=-[&YB2_5HRDY+EU3QE:3E1/. M#JY_C$:WD]'-_60,QQ,V%6A.>J$E9FH3^ 0NLFYVVYOD31.6TGD3)T=IL9YRYF2+5.<=)RANVV(&S#) MD11H9E%OF;N-!";*,O'^]-X[MDZ[[02^HS' B[*RF &7Q(C&;L<\3^#!M5Y: M>&:B\LWZE+_=B6K^M-+:04NEO10=>2;77 VY8);OLEV",U3:L^N&QMNZ$>!>NY5DM)6E;2UE*QWUT)\5>O/ MFWNMXB.FYUP:.IP90:.SI!V KI6Q7EA5>C6:*DO:YJRSY2RJX4+ ML/X]#?X!4$L#!!0 ( -"#)E> (F>^S 0 *,1 9 >&PO=V]R:W-H M965TI0J]1R.38 MV"D57_9ZC6@Z3^IJZDT&![^?7]8OIT M^W"/.D]D&5)Y,>HI4*,7]U8YY%4&B4] ^NB.,[63Z)JMZ;HNWP/S2AMQ8>,5 M/@OX2Q*:R+&["%O8.8/GE#X[*9[S3I^;7,V0W&8D73&7,B8K.C:@)"05+]28 M?/Q@^];G,W:ZI9WN.?3) BIPG804\0V"C;#ZAGA\V,J!>D,)1%@@M:-HQJ.8 ML+1 MD+,M['&U0RLN(&8Q9^M 3Z7U P+DA0J@ Q2#%KDC@B(2\80IV46!1&F8F5ZW MU(2".ND2B0(&ZGDB"5O+BTOT\<, 6\[G__SYM?#JY,1[G],\/*?&K2UYI)JS M=>B+F9\$80H!C?PY6J'U^I6*52 / C/(O8"]DI"PG+LA@4#/)$P.RQ99UN8B M6%$TATRG$^B)B@AUWB@1\J(R_9 HJ4BZ3[KHABY%HG=HOJ?@Z;I6B?P#PJF@-.V:W1:@&K5>#!]:Y;,0^BYIJ>!U&SCZ*&!X6KNA\^SSI,Z[Z[-AUGZT!^-P?'NV4X6F?,:#80UQ'&3B @OMU ME+Y[I@=X90_P6O> U8ZP;<%U%+$D6D*)P O&V:<7*O7NR=A:(L51G B0@-K, M*5(C\ C(.2/VIN9PWI8G4/KWVM"^;;!UNNZ[+K'1W/*2% [#]]0BW K"*(DJM3DB:(+I$PTL>GJA'^PJZ!2 M^8$^3QCY3Q=KH];_:_>[VBV&;<]'3OV48YD#"TWW1.C,#?WZ*RC"6]@=U6.( MTZ_6J6YV?M-IQ1U6E]F>Z?7/'4,>J&&@%Y7>9R1]02P,$% @ T(,F5W96 MAM-& P >P@ !D !X;"]W;W)K&ULK59M;],P M$/XK5D (I&IY[[K15MK&@"(&TSI>OKK)I3$D=K"=M>/7]R MSW-W/OLNPX60WU4)H,FRKK@:>:76S:GOJZR$FJHCT0#'+X60-=4HRKFO&@DT MMZ"Z\J,@Z/LU9=P;#ZWN6HZ'HM45XW MB6KKFLK[2L!JZ8X$1",?+.PM/SQ-A;@\\,%FIK34PF,R&^&V&2 MC[S ! 059-HP4'S=P054E2'",'ZL.#WGT@"WUVOVUS9WS&5&%5R(Z@O+=3GR M!A[)H:!MI6_$XBVL\DD-7R8J99]DT=DF?8]DK=*B7H$Q@IKQ[DV7JWW8 @R" MWP"B%2"R<7>.;)2OJ*;CH10+(HTULIF%3=6B,3C&35&F6N)7AC@]GGRX^'AU M26[/OEY.R?-;.JM O1CZ&JF-@9^M:,X[FN@W-'UR);@N%;GD.>0/\3Z&Y.** MUG&=1P<)W[75$8G#'HF"*#[ %[L\8\L7_T6>^]+KT,E^M+D9IZJA&8P\//H* MY!UXXV=/PG[P\D!LB8LM.<0^GN)-R]L*B"C,*6UI11C/1 U$TR6!)5Y !836 MHN5:[0O^,/VS)X,HB%^2__6>LN6#:A.LU;VMU6-+4SOSB)SF0M1-JQ%CLLK, M8D^F:^.G).E%Q_T'\LEQX.17K"A L\ VX/":\CXG!12U*?_GINF&K9B M4C M'%LC5J: '"26QD:*CC/M4$F:NG67\[V44&Z>[>1QO=Y3(#= Q+R%K3! FF9[::VL;X&)D$P:XN MV;!A-\1>QVU"TFQ7OJJ#9K@]CY'/^TG\8E<;1L%&>XM,F82<:;5KF:3[\X-7DLJL))3GV)+O<-0T.#BT(Z7Y-VRE5O6G'5Z_^[UP$#KIHRY!D@9P#G## MDKNCIZS3C8/5@=G9P'"PHXMCMYPP[-A!NMG@M&ZRGG4#96/>C>4K*N>,*U)!@=#@Z#CUB.Q&72=HT=CQ,A,: MAY5=EOAW -(8X/=""+T6C /WOS'^!5!+ P04 " #0@R97O7S@,,<# "F M# &0 'AL+W=OD@]E)CA2L@'E2)J>"KR4HV<5.OJS/-4G&+!54=46-*7A9 %US242T]5$GEB MG8K<"WR_YQ4\*YWQT,[=RO%0U#K/2KR5H.JBX/)Y@KE8C1SF;";NLF6JS80W M'E9\B3/4?U:WDD;>%B7)"BQ5)DJ0N!@Y%^QL$AE[:_!7ABNU\PXFDKD0#V;P M.1DYOB&$.<;:('!Z/.(EYKD!(AI_KS&=[9+&MXN@8O%KFRO[!J;'M]!^)::5&LG8E!D97-DS^M\[#C M,/!_XA"L'0++NUG(LOS$-1\/I5B!--:$9EYLJ-:;R&6EV929EO0U(S\]OIG> MP^>;RZ_74[B=WL'LZN)N"B?W?)ZC.AUZFI8PAEZ\AILT<,%/X'IP+4J=*IB6 M"2;[_AY1V_(+-OPFP5' +W7>@9"Y$/A!> 0OW,8;6KSP%?&VA=F@1.THIE+. M5,5C'#E4"@KE(SKC#^]8SS\_PC':#P _/?_EYGTK$/=4!:>;9 M:F9C8[1C?@*X^1'4YN-[8(';[_5W)B(W(-NW,OIF3P*3ET>4=+!!61=SRB#M MWCH[=#@J3:G)RJ7U8NQ\O;$OL5CH1GYX.!VY+(Q@NEC0X6:!M8@?@*^XI'R? ML-,6H(^']\[.X-0Q\^ MO0C+6D4OK4QZZ4:P8M96?46C/MQ7GU6=J2BC/->:K]JSK7;2G:!&20<]&9E+ MJTDU75Q6(+:6\CI!BX9V^ZTS+W6VM6S$(*KFT(@%K64VCQ/<ZTNT=SOG^OU&Z41O='CM<_S\M7=9A;*\H!ZRE=,G* MW[?:+UU%XOM_%NZ #=RNSUY?N&V]B;?3.Q8HE[9#-HO3/=^TD=O9;1-^T?2> M/\R;#OZ:RV5&Q'-:^EK[FM(?"93&@+XO!/4& MZX%98/O79/P=4$L#!!0 ( -"#)E>E"B4MK < ,LE 9 >&PO=V]R M:W-H965T@FW:_?H7RC0MII4B!>7T*3$@_/X;E\'QD=7U?UEV9JC$4W MLZ)L3GI3:^S4T)3\95/VL[V'*5->9-5?R3 MC^STI)?TT,B,LT5ASZOK/\S*'NGD#:NB:?^BZ]6[I(>&B\96L]5DT&"6E\LV MNUGMPX],8*L)K-5[N5"KY=O,9J?'=76-:OO'O_\=VG2W3^[NSS^>6'3^]1_S*[*DSS['A@0;Y[:S!E2,SZLX?@%X;Y=A:N==LK\ _%\5SQ"E&C#"^1Q[?&,M;>?Q'C8W9 MN!0AXB)1M@(_ _VZBG1KTIIK- ML_+[;PU,GEI-[T,Y@B2JW49MYKJ24,WN7 .B[_LF^M %N#H?FB;RXS/L>(TN*YL5 M#3HWWTRY@-&UF"-$B<1<2&^$,ZRE\@^D+$12$I.#9QCHOU[?7 M230FJ=AT68*)WB[!L."Z8Z(OGE*-%='H?5U!>,SK:IS;[<,$,TDW78%50K:K M4KI3*N-8"P;[5$ 833":F!)"NFCC.!M!,1;*=RF&ZX*,\6\@:Z%1^!SKP-6,9ILUX9(XC)=+PBRU[Y]M-H@(&08^@0[MS+P ML18^U L#@ MG1D24RB>ZT6*/+O*"]C@2)FF"<>"A,414"B-UF]-PS2!JIY$W$0E%#Z%WE?5 MZ#HOBLC:6.APC12+2"JFH<]W.=@A*.=+7+^]PYL@$ KV.008Q6$S0PC04%DC M6 &^TJ'A$FB#)O& /$3[V)R+_0SG2H$M>73@R)$1)])+$2C5/I"%U0V $\"3 M[*9%(OU4A2K $ MX7<3K'T,N4^WM!-0X/^JZMATA_Y0 ]G EGOEVI"0Y)+5*(1K4 M8:@5P!4+Z^QCMP]E5E3YCE7[>1:#/-I/JW@,+2+)2R(,)QC14*4>RJM$Z!+. MP\SIN.\/8!QEIA)@) MQP/TX4-LW5[D-[_,-9:&(P3S@]^Q7.4?&106PD^&2&V#GHD)CP3R$ M%5AYY4X$(=[A/T2W+";.JB#TO(B />Y&VB>[I3+-62Y>ABOHL!$:1AP$)XD M>K'%PW=E]+J+T=:>>U(L!:D5I@5XED;.X.%0O]4EPK$43N# ?C[C0?3K<[51_@\/F,OYV(RW X9.1%"=T=[46 E. T(>BHM)AID"1CUX MR,B[4*)4"%" BE+>QHF[4!%((1SRW]4OB37'GNGL!H7 7"=Y U["6E7D],$:G/A)RK,"( R(A1$L*3CT,%%*L MR:_[/QW..XQ]?QWB:7H'"B:1PRA0[A#A8K/63W) MP9;"C&$J>:YE#]7+3X>6'5O-V\]UKBIKJUG[&PO=V]R:W-H965T MN^,]U&ERY.*K/ H\ESDI9Q:!Z6J M2\>1Z0$**B]X!26^V7%14(5+L7=D)8!F!E3DCN^ZL5-05EJSB;&MQ&S":Y6S M$E:"R+HHJ/AV!3D_3BW/.AD>V?Z@M,&932JZAS6HS]5*X,KI6#)60"D9+XF MW=2:>Y=7D=YO-GQA<)2].=&9;#G_JA>+;&JY.B#((56:@>+P!->0YYH(P_BG MY;0ZEQK8GY_8;TWNF,N62KCF^5\L4X>IE5@D@QVM<_7(CQ^AS<<$F/)ES>PX]0.*^ ?!;@&_B;AR9*/^DBLXF@A^)T+N1 M34],J@:-P;%2%V6M!+YEB%.S]>?5ZN[F_F:YF=^1V\5ROKQ>X&R]F6^,E2R6 MMP^/]_/-XF%)?M_0;0[RCXFCT+4F<-+6S57CQG_#34SN>:D.DMR4&60O\0Z& MW,7MG^*^\L\2?JKS"Q)X-O%=/SC#%W3G$!B^X'\XAZ'T&_9PF%W?K$M9T12F M%EX=">()K-G[=U[L?C@3>]C%'IYCGZWQIF9U#H3O"%<'$"@<(:!4A$H)2@[% M>Y[Q_;O$=X,/Y+^.6*5OIDJ=@98UWOT7MM.H*]D\%F7*"R"*/NM[7Y>9Q#$% M]J3E1VB9$3S%BK*,L&XGR([H-^+%=C*.^H;(#OP1>:1'O#P*!*.Y1/ 3'A+' M<%Z'XOEV$L0_FSU[[ 9DU3J'9_PTRIYC]!HFW2JTH] C#Z8@KYEP9S0>L$9Q M0#9=.1?FQO^OH]%7M62I+##J'NQ0@% M(YI>V2P4KTQ_VG*%WWW-\[=S;V7'Q)-< "OU(*9-=9ZW4YLYU9;*&%,M;O@&F9Y9< MI%CIKEBY.3434X9FBA,%$()FE*18_^T#YKNOX MSO/ E*S6R@RX46>#5Q"#>MQ,A.ZY!DM=D MYEC"@--O9*'67:?EH 4L<4;5E.\^0TZH8? 23J7]1;M\K>>@)).*I[FQ]B E M;/^/?^1"'!GX]0L&06X0O-2@EAM8Y=R]9Y;6$"L<=03?(6%6:S33L-I8:\V& M,'.,L1)ZEF@[%0U'\6 ZGLS&7Q_0UWLT^SQ"_<=X_#"*8]1[&*)^+Q['9F8R M'<6CAUG/KKQ!]X1AEA!,T9A))3)]LDHB22/1^" H3*C]H ML\=XB-Z__8#>(L+0;,TSB=E"=EREJ1B'W"1WN[]W.[C@]A\9O44U_R,*O*!V MQGSP"W/,+IF[6L!"Q:!0,;!XM0MX]Y@(M,4T \27"$L)6@S-#%&"YX0214"B M%+#,!"R0O0#/&IE5C+/#P-R(=DZ1O0OU\RZ8ZWXG-SB!KJ/OLP2Q!2=Z]\8/ MO4_G]*D([$2M6J%6K0P]ZFUU.. YA1O]#-U(K!O2T+>:D5@ M)Q(T"@D:KW\'&E6J51'8B5IAH598&C SKC ]2W%OUS@*=C]H>F']7]$>_N=. MA*VPWBQ6G7C5++QJ5A#&>N +9_!3?X?$D\XTEMF%-[QTLVM/JR*P$UU:A2ZM MUX_M5I5J501VHE:[4*M=&D4#+->6=V(:\#TC6CJ3'YQCW7Y9N+>O"7??.V0_ MWO\(^*#DW2X'OO:XJD([E>$H"?1?/[YS'ZI2K"*T4\4."9]?FB%=G\/D>(U? M)#'EV_XNK4-FYI>G9I<_2_[+DK!R_&O]=X\*&U-5?L%B19A$%)8:WKMM:CG% MOE#;=Q3?V%IGSI6NG&QSK8M;$&:!GE]RKIX[IGPJRN7H'U!+ P04 " #0 M@R97$>,!.SD# #:"P &0 'AL+W=OU-13 %*>1&-/E)13[:2H^GT8\^T7+/+9E:&E@:'1!761##Y-I0XX8S=!_?ZWIT@;WPS0H.;Z[OQ MQ>!N@AZO[B[1X'YR=S-RQQ-T.@2!PXB?H>_H?C)$IR=GZ 2%!(W"*)(5PKNZ MD*M1G+I?*/=S9?,-90N-*!%SCEP20%"!'^['VWOPNG2AM,)<6=$W]Q+^3*,: MLHQOR*R;5L5Z!H?#S:KM?$[=_9RZ]PX#AGF0O1ZT MQ>/N\AAFJV9O1GE[M_6?IC5+TYKOF"9/4P(!PC%-B>#HZ14EC/Z2URVB2P*L M\CQM[NS+;->,+1/W"G^TY ]1=(^IZ.TJ-L[7%#?++@R%[GB^4:-U=I;N=B[K(_F MXA!%]YB*7H6BL?89Y;G0UWJ/&-@LZQ(Y\I7E^7U1SI:-Z$76?VW-]XW.P*B8 M'QH=-^\S_]'G7>\(LUE(.(I@*J7JM98L'I9WDOE T"3K?)ZHD'U4]CB7S3

&ULI5113]LP$/XKIPQ-( %)4V"H2R/1 M4@1(T*IIX6':@YM<6@O'SFRG+?]^ME.B(H5*TUX2GWWWW7>??1=MA'Q3*T0- MVX)QU?=66I<]WU?I"@NBSD6)W)SD0A9$&U,N?55*))D+*I@?!L&57Q#*O3AR M>Q,91Z+2C'*<2%!541#Y/D F-GVOXWUL3.ERI>V&'TEY.I+'\!B6C M!7)%!0>)>=^[Z?0&E];?.;Q0W*B]-=A*%D*\6>,AZWN!)80,4VT1B/FM<8B, M62!#X\\.TVM2VL#]]0?ZG:O=U+(@"H>"O=),K_K>M0<9YJ1B>BHV][BKQQ%, M!5/N"YN=;^!!6BDMBEVP85!07O_)=J?#7D 8?A$0[@)"Q[M.Y%C>$DWB2(H- M2.MMT.S"E>JB#3G*[:4D6II3:N)T/!V]C)[GHP3NIN,G&(Z?9].;X2R!UX?9 M/0SGR6S\-)HF< 93M%=,^1+F7!%-54XQ@PE*]S!XBC!>,+HD5FL%Q[>H"67J MQ$6ND5=XN@?1'G8*HVUI;LO@SFAA_40.B*S8.70[IPX2YLDM'!^= M?(;QC;R-QF&C<>APN_^E<1O?&O>B'=?V:T^5),6^9QI2H5RC%W__UKD*?AY@ MW6U8=P^AQT/!M32ZFT>?OC&Q!%*(BNLVFC70M0.R4V =!^<_(G_=DOVBR7[Q M;]F/B8(298I$2=-64Y%K+)-C;?,8*34I1G-G*AQ;T'KJF*6;K5 =]F2TPQLR)V*Y>V"R93>4 M),U)P5-: $;68^L*7L;058+2XEM*COSD&BA7'BG]H1JWR=ARU(Q(1E9"(;#\ M.Y IR3)%DO/XKX9:S9A*>'K]1+\IG9?./&).IC3[GB9B.[9""R1DC?>9F-'C M9U([Y"O>BF:\_ 7'VM:QP&K/!+?!>.X)?"TK7[T$%L.XB(AB48?]>N#'KTM8]0$"CT%ZAKU K_LLPO@ MPK\ _16,-QFU;@ESWV!]_)BT&6Z8GEZEJJ$EWR' M5V1LR5+'"3L0:_+G'S!P_M&%V20L,@F+#<%:"?&:A'A]],F""IQI@U_I@E*G MGAJ'"?2@ZPU']N$TK!HS&$+HM,VBHG,KZ U"IU,>8HW9P$,(ZO=]V+@8 M]KHX([O]8Y:NU&J[9223;Q0Z?WLA;UUL)F&125AL"-;*Q+#)Q-#@[A^:3(A) M6&02%AN"M1("G>?W=^>=^[\6GNY&+W0&?J< :,R@[[NH4P$T9@,G\(-.!="8 M(1^&@;X"P)//%/B:9_^_:;%):*YUMQ?PUN5FE!89I<6F:.U4H.=4((-%H(:9 M2HM)6F24%INBM=/R_$D&>S\P^@J!>_YRCX9#MUL(SLW" '7?!#162):!L%L' M-&.&P]#IU '[Y.0B)VQ3'AEQL*+[0E2?HTUO44:OHC=8Q5 MGI0\XZLSL#O,-FG!04;6&PO M=V]R:W-H965T;:3T_]WV5S# CZEC,D9LO$R$SHLU43GTUETA2!\J8'S8:+3\CE'MQQZW= MR+@C*TRNWM,#-\9K]N]-NM#P1A7W!'FFJ9UVO[4&*$Y(S?2N6E[C2T[1\ MB6#*/6%9V)Y&'B2YTB);@8T'&>7%F[RLXK !,#S5@' %"-\"6A\ HA4@4AV"<,?]U?/?1^ M#J_OQM"['L#5]<-P?#=R\_T!:D*9.H CN!\/8'_O /: KG2^*G<,/=F[!2' ]4S#D*:85^'X]/@AK"'P3AC(6X3H6%V$MXX^<'4,4 M'$+8"*,JA_X!)_PC^)8[49F:R/%%'Z6&J!D0GH(;#'_G=$$8.R+94GY2J3^K8XUZ2R!Q32.F"ILC3 M2K4%1=M1V#JUB!O'K8Z_V!1191.5-EN^-4O?FK6^72)+C[0X,M4CEU2_PA@3 M.Z!8Z64MV6=SLB.R+=VM4G=K=W]B:Y>J=T2VI?JT5'U:F^W1.LMSE%145:B+ M>H( 7I'(*EF?QVTI:)<*VK5$CZZ)F<-$%BA-3S8YY#EAIFYK-/'2((E&!6(" M_8&"?:* 6+&)2>U!E=QBMR#8.E.-9O3FY%6;AJ;-IO7/,W&FJ&@$9%3RA4P MG!AHX_C4'&19W"V*B19SUYZ?A#;-W@UGYCJ&TAJ8[Q,A]'IB-R@O>/$?4$L# M!!0 ( -"#)E=+R>"_:P4 #(; 9 >&PO=V]R:W-H965T'WSGTYDV#YJ#_IQ.V9CIN_F-Q+MF[B7@$8L5 M%S%(-CEN#-VC$>D:@[3%/6=+M78-!N5!B!_FYB(X;C@F(A8R7QL7%+\6;,3" MT'C".'YF3AMYG\9P_?K9^WD*CS /5+&1"/_B@9X=-PX;$+ )34+]72R_L0RH M8_SY(E3I)RRSMDX#_$1I$67&&$'$X]4W? M7=P/+\^N;\68](5:'?R3A%VBY!T JIF@*F!].+L9\(7F-585Z9JY:I=[ MQ5F3LPWJ=D[=MGD?7,2:H5>-:X#/D!@KJHIWY<1+G9BE:#'P'*??7*QC6#O: M$:.38W2L&*?L0:]-@(.*^8'/?%\F+(!GY@.@$[R"88BK)XU]!M@61I(%7,.E M4.AFE$B)-7 8TTUP_52@YC .8^Q.:YB!<86_1"Y8VLQCMFVPKYOYC'F0@#'D\AQ%3A MHF.2IV<,1B*:T_CI-P7#\S&H?%"J4N&5ZJI;JBM[FPV0;@[2M8+<2.$S%F#, M4D2@S.J)PQJ8(E)K140WBL@TJV)8==59BV^;P!K,CF-VF*,>6E&'D4BPE S? M%&4$7LCG <,I'U*E^(3C8**F,&T$CJ $'X=0LIDIZ 7#?0/O*]$/7T6W!KB]'[UE7]&%I^%ZIQEZ=JWI-SC;(7:?0$8YUV,\IEW!/PZ1RW#+C]8'K]'H] MLC5X]CYV95C30JZ5X6X,M[C8J$0^02QT]9C9?;QWT.KRMDE,"F)2;\5F_NJB MK\G;)GTAP%RKTC%+E=3ISN(+LSN?)F;M 1$ST +T4L 3H[(Z#ZU209..ZY4* M>A]2RRVTEFL76P7@:!W0D!G F63,@M@N(;8ZG<[V@FL/85?$0H>Y=O6RB5C) MT2EQ>$[7+0W5/H2.6R@=URYUODK<(^&N$#N7Z9[YOJ+TRD79];8YK7'LRED( M(=>NA%[C?&-MEC50N]W>)MV'#'(+'>3:A= +I)4X95W3):6)M@]IXQ;:QK4* MB-4&OS ;_/MJLE>NR?;A8:DJ]Z%>2*%>R%O5RSL+D92%3:OC.MMX]NYWQ2N$ M#;$+&[LXRXS7__!4B3-['[LR%%*%6,7 X(K'/$HB^ _>)-/LWMXK5.KRMLE> M"!52XZLB4NN[HKJ\;9(7"H:\HF!L A4TDU%E"NQ.R8OS>62WW!6W4#/$KF:N MZ..[BKPFS9*Q[T,!D4(!$:_&(J])Q63D^]!$I-!$Q*Z)=BQRN].6IBBC\"]5$NO5R_G\:7[P,TR/.[:>G[A'H]7Q3>%F=9IT1>74O$H* MV01=.E^Z6*ER=4"SNM%BGIYQ/ BM191>SA@-F#0-\/>)P"F4W9@.\F.RP?]0 M2P,$% @ T(,F5W08C&QX @ H@8 !D !X;"]W;W)K&ULK55_3]LP%/PJ5H8FD"CYU73 TDBE9:+30(P4]K>;OC86CIW9 M3LN^_6PGC0J$,FU3I<1VWIWOSLU+O.'B4>8 "CT5E,FADRM5GKNNS'(HL#SA M)3#]9,E%@96>BI4K2P%X84$%=0//&[@%)LQ)8KMV*Y*85XH2!K<"R:HHL/AU M 91OAH[O;!?NR"I79L%-XA*O( 5U7]X*/7-;E@4I@$G"&1*P'#HC_WPO-PF5Q&PA8U=I<68+-VN$7-1"@C>$ M?*WH"0K]8Q1X0=@!'[\#Q^PMN*LC:7,)VEP"RQ?^4RY=-FO>?C>O>2G/98DS M&#KZK9,@UN D'S_X ^]SE^G_1/8L@K"-(-S'GJ0Y%ZJG0!3Z:-O#[[)<\PPL MCVD;Z^34'P3]V%WO>GE=Y4?ZY[=ESU3V6Y7]O2I':_U/Q',*/=W2>A+K@82L M$D01Z!1;TT4[,J*SL[/@A=B]F_YE\%%K*=IK:<85IN]E'KU.L^\/_,$+'QUE M7:&[.QW$=.]K+%:$241AJ8'>R2?-(^J.6$\4+VU3F7.E6Y0=YOHC L(4Z.=+ MSM5V8OI4^UE*?@-02P,$% @ T(,F5[L]X^T? @ 04 !D !X;"]W M;W)K&ULK531;MHP%/T5RZNF5MIP2$K'6!() M,Z MK1N"T3V;< &KCIW9#NG^?K83(B;!UH>]Q+[V/>?>X_@XKJ5ZTGL @YX++G2" M]\:4(T)TOH>"ZIXL0=B=K50%-394.Z)+!73C004G81#UI0:FL9*UDBY M;,OF)OYL/-JJ8<+]Q:51=I=9G$G'6?9M]?7[$BUFV>S^<3SY,D/74S"4<7V# MWJ+5CYHI>K/J>I(;D]3^+\-=(ES2'!UD :U %P^OI5_R[X M<$[A?R+[0V_4Z8W^QIZ.N74K%3D@ZWM4"7MKO(_6'*R1 M@T/:[PUCM106]=P.,5&.X)C"R]'=V M+8UU@)_N[1L%RB78_:V4YA@X&W2O7OH;4$L#!!0 ( -"#)E?\$*@PK0, M .D/ 9 >&PO=V]R:W-H965TV ,=).P]9$-3)]C#T@;&O;:(2J9)4W.[7CY04V;)D>4G=%UND M[CDZYTJ\O!RLN?@J5P *?4]B)H?62JGTPK;E; 4)D6<\!:;O++A(B-)#L;1E M*H#,+')<1\/;2P]3SQF2Y7 MRDS8T2 E2YB">DCOA![9%OG]D_YN:UF4]0&@H,WXS',O]%ZS+6L= LDXHG)5@K2"@K_LGW M,A%; .SO ;@EP/V_ *\$>+G10EENZXHH$@T$7R-AHC6;N]2C5/1Y/9^=/MI M/+D"16@L3W7LP_0*G;P]16\19>A^Q3-)V%P.;*6UF2?8LU+'9:'#W:/CCRP^ M0Q[^#;F.Z[7 QP?@A.V#VSHC55K<*BUNSN?MX?M(&57P_D9_8O.6#/QSH^/1 M1$$BO[1Y+P(K>O<&A\Z'-^9'(:GGPJCQX7>S1 M)\&E1*.$9_IK:'-:P,,<;DK&4Q3X.!C83]L.#@35E/F5,K]3V6@VRY(L)DJ_ M(*U/*/HO,86A363!%&P]WW,<=T=D,\@]=\)VD4$E,N@4>:OK<$?R@D9>7!][ M.[J"IJ[0Z;?K"BM=8:>N>T'F@&Y) FVR.K$O_7J/1%:SV:ML]G[E*NX=,P]' M(JOEX;S*PWGGZ[Z6BB;Y2GF0L,AB=$,7@$YTQ?X!1,C3-O/=C#@HH&U..Y&O M=-JOG/9_KE[U&TO.]_O]G277;RRY6E!-&78V.ZUSM(I54M56O:Y9.SK;HG#@ M[!&ZU1+@GZE:);I6MG CAV54W8&_+XF;?1EW;G?1.&^)0.@6,LZS)U5-'"AH)>HP=K"0J#?3(W M70#NW%P/UK->2SWS=Y6U!(6[E=;>.H>90_"?1"PIDRB&A48Y9SUM3!3GRF*@ M>)H?S1ZYTE4MOUSILS@($Z#O+SA7SP-SVJM.]]%_4$L#!!0 ( -"#)E<_ MJ)4 SP( *T, 9 >&PO=V]R:W-H965T&.K-;* M+-C^(,$K"$'=)U.A9W;)$I$8F"2<(0'+H35J7@1]8Y\9_"*0RITQ,I',.7\P MDTDTM!SC$%!8*,. ]6,+8Z#4$&DW_A2<5GFD >Z.G]B_9;'K6.98PIC3WR12 MZZ'5LU $2[RAZHZGWZ&(IVWX%IS*[!>EN6U7&R\V4O&X &L/8L+R)WXL=-@! M-%LO -P"X!X+\ J =RR@50!:F3)Y*)D. 5;8'PB>(F&L-9L99&)F:!T^8>;: M0R7T+M$XY4]N9Z/;Z\GES14:A>'5+$3G:!1%Q%P*IFC"\LPR5W0:@,*$RC-M M?>'X'QO:0%[S"W(=USL M'[\"QZP2'AQ_NKL/M[6.I9AN*::;\7DOBEEZII5?% M[E]S'J6$TD.*Y&6&WC+!;'>$T/%A;E:BWYD.=9$%-9'MJ]4JU>A]06[TZM:R3 M+*B);$_+?JEE_]VUU7_V-]+L/2^NHZR"2B_>&J.]TQN:1OXG%BO")**PU/1. MHZM+7>3-<3Y1/,G:Q3E7NOG,AFO]/0'"&.C])>?J:6(ZT/(+Q?\'4$L#!!0 M ( -"#)E>?6@;=KP, + 2 9 >&PO=V]R:W-H965T2.DWD!<>+O]XD_/$_L>'SDXHO< 2CTDE$F)\Y.J?VMZ\ID!QF6 M [X'IJ]LN,BPTDVQ=>5> $X+44;=P/,B-\.$.=-Q<>Y)3,<\5Y0P>!)(YEF& MQ>L=4'Z<.+[S=F)%MCME3KC3\1YO80WJ\_Y)Z)9;NZ0D R8)9TC 9N+,_-O8 M#XV@Z/$W@:-L'",SE&?.OYC&8SIQ/'-'0"%1Q@+KGP/,@5+CI._CW\K4J6,: M8?/XS?VA&+P>S#.6,.?T'Y*JW<09.2B%#+^Z7 M?ZW110P*$RHOT:_H\SI&%Q\NT0=$&%H02O7_)<>NTM&-AYM4D>[*2,&)2 LL M!LB+?D&!%X0=\GF__(^<#E#HGY3'WY!C=DKN:F0UMZ#F%A1^PQ-^*SAP>B!L MB^8"4J+0 TX()>JU"TROE:GL6[G'"4P<7;H2Q &%FIH/#U/?&[J')IC?@N6PLF;787-5LKGZL M/-%_: U)KD^B3P<0S$P+Z#T35U@!NEA_>EA==B'L#7IN(MHTBRV9M6!'->S( M4B%'-OG9-(LMF;7X7=?\KGN3]9$IT*X*"9-]>OFUU1-MN:P"83+5G._"6=KZ M?J.DO8'G1U]5=6_TZ(C&FX+_/HVU0^[L/4&.3<+ M;9K%ELQ:<&]JN#>6JOC&)C^;9K$ELQ8_WWM?2GN]Z7G'A=88@OB@%\_XF0+* M60H";6JV^!MLJQ#-6?KJZUFZ_S;.96;+K0VM\?[A]T+[$Y1^^B&^J6JZ$TJO MQ;D99]4MMN76QO?^&N('EJK6M_H68M4MMN76AOC^(N+WKM.K')0F"9-R8N&Y MD@JSM"C9DROJ?MNSD99NHT;IWPR&[=J/.SJ-!B.O^?%K28G#;>P.F+V<1;' MD(C"1GMX@VN]=A3E]DC94'Q?;!@\&ULK5G9;MLX%/T50E,,6B")-EMV,K:!>E$7--.@3J;/C$7; M0B720U)Q"LS'#TDIBA32K)WJ)=;">P[O.=3EDM&>T!]LBQ 'CWF&V=C9 MI1C=4,"*/(?TYQ1E9#]V?.?IP;=TL^7R@3L9[> &+1&_V]U0<>?6*$F:(\Q2 M@@%%Z['SWK^*_9X,4"W^2=&>-:Z!3.6>D!_RYE,R=CS9(Y2A%9<04/P\H!G* M,HDD^O%O!>K4G#*P>?V$'JOD13+WD*$9R;ZG"=^.G:$#$K2&1<:_D?U'5"74 MEW@KDC'U%^S+MOW( :N"<9)7P:('>8K+7_A8"=$($#CF@* *"%X&] X$A%5 M>"Q#KPKH'3$25[0&5K@28OE%TJ6@B<8CFR MEIR*MZF(XY/9U^OK3[?7B[]OE^ SA&':<;>B4=WRSEX^^8=> -2 M#&ZWI& 0)VSD^^#WV^!?A$!]B;VD9UJ,H5'B] M WA?=XA"GN(-R-0(.@-D)PL' YP ],@1-CD^M8+*FGK%=G"%QHXHF@S1!^1, M_OS#C[R_3'9U"3:WI\MI@4R>==F%N".PEI^]VL_>Z_WDB(I"!+E)@JD5]U1+ MNP2;VS,^9&F778@[ FM9VJ\M[9]BZ1F@LA1M:A?NN%M$H ?!!*+A!E7ZR6INT MLX/U0Y"KY9:I+%M#3_W:7]^/19?]B'_1CZ&Q'RVC+FNC+D\S*DG9BA28 WI@ M4BWQ?+\Q^+P++QR^&.I6VE-].8YST25G?(!S8*[$OO>\Q_&LBL<%+RB2VZ M !4^P(S9YL@*K)EVZ&O%WM3*T\I]U:JI3C34-=2Q^GK%MR?Y6A Q$#JXAW MF(G)DJU344[NB=P9 S%_J@,GO$* W&?I!JJ5NU'4P#1,-,%F]DZ;(/(P[W?)VBC;O M%&W1*5K<%5K;X^?ML&_?'7XH/26T\47)4S@UG8BJ19B87XQ^]_2"%.G?5Z<; MW:,X%YURQEVAE?ZXC?/,'-&-.GEF0"V2RD.I^FE]NOU>G>F^>#[UKV:^X?G< MOUJ49]?/\.51^C6DFQ0SL498"RKO8B#*%"U/I\L;3G;J-/6><$YR=;E%,$%4 M-A#OUX3PIQM)4/^/8/(_4$L#!!0 ( -"#)E&PO=V]R:W-H965T3S.3"QF@8X>+GPCVP#WQG<)*;8V1;>51B)]V20*+@3[04N]F :C )4P(PW3W\3J M(ZP;<@8+P93[1*OVV70Q\MR#G M\I)HDD^D6"%IGS9J=N!:==7&'.7V5[G3TMREID[G%U]O;J[O;SY\N;]#[]!5 MHQL)ED.KID(,3+^H)L_F9] *'5V")I2I8_0:48[N%Z)1A)=J$FKCQ.J%Q9IZ MWE+C/=1/#3M! _P6Q5$\0 ]WE^CH]?&?,J%II.LF[KJ)G>Y@C^[7&B31E,_1 M9VO=ZZQ5&/H5["8X534I8!J8?[D"N80@?_,*I]'['G^#SM^@3STW[0[1D02[ M74J0QSY_K4+J%.R>6N:C;#P)EQ[LL,,.#V$3'ZJM2K90>)A%?E;2L9)#K-3' M2G99>#STL]*.E1YB93Y6NL.*L]2/RCI4=@@U\J&R752,_:A1AQKUHNX78/)U MID'Z@*,=X AG?N"X X[[@4(3]M=F]Z''.^CA*-G#QM$F@*)>^F=0"M&J;C24 M)E9,VZ"T-U*BW;4>[\-OY1_NQ=_:7(?"Y&D>_8-WF07 M[HV>=B&*1DIKIQ;2O;6.*"]84[JE,:^P0C9F"$_FI6SBS9L?:\IV@.!DD.QQ MMTDNW!]=_\M=/^7L+XV>S,6;],/]\?=%\'>]SKG@+_<9)8^444WW^1_NK.[ MI:MW=3>AB?M3\[]:/(CR*/D6.MPZ5M@CV@V1<\J5V2$SHQR=9 8DVU-/.]&B M=B>-1Z'-N<4-%^:D"-(^8.[/A- O$WMXZ^6]02P,$% @ T(,F5ZJ* M#E0C @ J 4 !D !X;"]W;W)K&ULI51M;],P M$/XKEI$02-"D:1N@I)'6;FA#"E3K8)_=Y-I8\TNPG:7[]]A.&HK4Y@-\B7WG M>YY[[J*[I)'J29< !ATX$WJ!2V.J>1#HO 1.]$A6(.S+3BI.C#75/M"5 E)X M$&=!%(9QP D5.$V\;ZW21-:&40%KA73-.5$O2V"R6> Q/CKNZ;XTSA&D247V ML 'SHUHK:P4]2T$Y"$VE0 IV"WPUGB]C%^\#?E)H],D=N4JV4CXYXZY8X- ) M @:Y<0S$'L^P L80>V"C@5[4D.71]. .-+@*@#1%YW MF\BKO":&I(F2#5(NVK*YBR_5HZTX*MQ/V1AE7ZG%F73U/G,-AE"FWR:!L7E<=)!WG,N6,[K &:-,"E-J=",**/[&!U9?+S(Z MBEQ&@X1?:S9"D_$[%(719(!OTA<]\7S3"WP9%937_%QE@T W(7-=D1P6V(Z M!O4,.'W]:AR'GP=D37M9TT%97?=?4 6*RN*[PB-=E.9HN 3]SK<4$ !%& &0 'AL+W=OVQIB#ESA*V,!8<[ZY M,4WFKW&,6(ML<")^61(:(RX>Z(OHYQ1'8# QK[%_?A:LWE"W/8WZ 57F#^[V9.Q9-9J 1AC!,6 MD@10O!P8(W@SA3WID%I\#_&.'=T#6LE!'#G8WAD'.W>P+W5P<@?G4@'BX6[RS_5X MM)A-P>3N=C[[MA@]?+W[!J[!(AL*@"S!2'Z=D+^";1)@"B8DWJ#D]7<&%ISX M3^!NDW[#>802!CY-,4=AQ#X+B5^!"=@:4<,=)>>BEZIQBM'@I'I.S=&@^E*9DJM6DLO5#=L@'P\,L1XQ M3)^Q,?SM%]BV_E!1:E)LVI!8B:!;$'1UZL-%.LROP-V6,RX&>9BLKL 8K\(D M$;=BB1)SQ,MR:DBLQ,DK.'D7>=7Q!: MAV;+TI;[(VU#<0!&SYB*MKJ8[V!.0U_\%NW,$P'5:W>JWUJ=8 M=T8TI58&>M2]PJ: :G::/ BTC] YO9;;J:+3)E,;74-J973V 9W=%#KMKI2' M*<&S8>MDC=&G4QM>0VIE>(<^&6J;R#KPM!M8'J8\\L2DK>YB^G1JP_N(#AD> M6F2H[Y'?NPJ^O=GE@4LX7;?E5;NDW*Y3-K.ZE_]:?> MN8TQ#U3*T&M9)\-'8>:VNDZUWH]H@>&A!X;Z)O@$RSV6)U?RFS]@&H-/_V%$ MV>?2J%!"T8?QP*O4 1#$\BP V%T0H%?5:<3D0J5>IB0DW7-2TPNEO$+*4TB5 MP1Y:::COI2\&^]9HTX=QJSAL50TY6;W4'H>SE^J3NR5R%5LON5J>TT@SVJE-:;0;/+&&'OAWJ&_?Z M9;\UMGJJ1#VG6K;2K.-6RVZTSS>/SE=C3%?I.34#/MDF/#LJ+-X69^&C] 2X M\GX,;R;9B?9!)CM@OT54M/@,1'@I)$5%8BFFV9EU]L#))CW%?22M?XJZ P HP\ !D M !X;"]W;W)K&ULM9=M<^(V$(#_BL;M=-J9!+^ M;4B!&2"YZ[63A#G2W&?%7K GMD0E&:[_OI+L&&,\I M>^81@$#?TX3PB1$)L;TR31Y$D&+>HUL@\LN:LA0+V60;DV\9X% +I8GI6)9G MIC@FQG2L^Y9L.J:92&("2X9XEJ:8_3N'A.XGAFV\='R--Y%0'>9TO,4;6('X M>[MDLF666L(X!<)C2A"#]<28V5<+VU4">L1C#'M>>4<*Y8G29]7X$DX,2WD$ M"01"J<#RL8,%)(G2)/WXIU!JE#:58/7]1?LG#2]AGC"'!4V^Q:&()L;00"&L M<9:(KW3_!Q1 VL& )ES_HWTQUC)0D'%!TT)8>I#&)'_B[T4@*@)23[. 4P@X M=8'!*P+]0J"O07//--8U%G@Z9G2/F!HMM:D7'1LM+6EBHJ9Q)9C\&DLY,5T] MW"_^NIS/5C?7:'%_N[RY6\T>OMS?H4NTRF<6T35:1)AL ,4$W67I$S#5=T?) MY2-P 2&ZWZHIX4A0M,Q8$,FPHE6$&7 M3--43MA*T. 9_7H- L<)_TT:^!F9 MB.?#BH;A=H#IN8 MD)ALY Y., F@*0*Y6E>K5601Y%F@"\$X +GVW1M!JHR.!7Q+X9Q'($V$-LGB;(.=LZG)M6JWO?] 5!'GZS'3!YX.!7'/=[CE^C:_>SXR39E?N#_<%Q:$EXA2W;J2 />[8]JO[J_*W^=>5W M#OS.!_._GBX+4T?X7L]SZL2M'G4E/MQ"[-;SO@/Q&^FUL'>$[?:\^C9N=ZLK M]N$>8K=?1'YLP[^=CPOS1U'P>_[)Y/\?=Q;[<&FQVV\M/Q*%1FJW(<>=0C>- M&KBU'&Y6RJ 4V$97AQP%-",BKXC*WK("G>FZRSP,S\O76\QD@N8H@;44M7J^ M=(#E%6'>$'2KBZHG*F2)IE\C644#4P/D]S6EXJ6A#)1U^?0_4$L#!!0 ( M -"#)E?1.U;]RP, /P/ 9 >&PO=V]R:W-H965TFD,PF^8B %9H"DW>Q.&B:D[;-B"^R)+5%)ANZ_7TDV M!FQ'$&_V!5\XM^_(.CIGN"7TA44(*0KDZTI@J%22A/3L2S?3&&,C?%0O9O3\9!D/(DQFE/ LC2%])\I2LAV M9-C&[L5CO(JX?&&.AVNX0@O$OZ_G5#R9I94P3A%F,<& HN7(F-C7,]N7"DKB M1XRV[. >2)1G0E[DPUTX,BP9$4I0P*4)*"X;-$-)(BV).'X51HW2IU0\O-]9 M_Z+@!0A*E?L"UD+0,$&>,D M+91%!&F,\RO\723B0$'8:59P"@6GJN"]HN 6"JX"S2-36#>0P_&0DBV@4EI8 MDS/'T,/O[:CI9W-Z VPTA%^#N')[%0JMGY84O9*B MIZ4017^)8GX:I%<'\085$*VKEB#]$J1__I:Y5==S]TN_OE^BG4(9G(%2EW'Z>YFC"&UK?UY:VJ+\4S4&XC.:;! 5C0[X2B'F0!R^"'R! M,04_8)(A,$<4J/K=>*Q9[UF_W\O:<4(.&@C[OY1PE9.-RLF%3(I:T\8E+?ST M#M?4ZO0KBZJ/IBVMLZ=USBGIEV_ARBW:SC&87R/3>FY+MF\V;.U!7Y3Y-X&Y M=3#/Z_2KAY?><5NP?8MAZWN,@\I_@L>K\]C=3K=ZC.G]M>79-Q6VOJO0'0!O M6+QNXU?I>E78_Z/UL/>]AZUO/HY@#^G6>CJ_J9;4X>IBSJ#C^95#PCR8KU)$ M5VKL9" @&>;YJ%6^+4?;B1KHS+UX/A??0RHJ) ,)6@I5J],3Z:7YJ)D_<+)6 MT]HSX6+V4[>1&,\1E0+B_R4A?/<@'90#__A?4$L#!!0 ( -"#)E<-IB$S M#@H )YK 9 >&PO=V]R:W-H965TWK1Z06Q%9M9#"[@9-/IAZ\$Q%@& MR]#SG"07"2;H]PK>QY)X$'#^$B??TZ40&?FQ"J/THK?,LO7G?C^=+<7*3T_B MM8CD?Y[B9.5G\F.RZ*?K1/CSO- J[-N#P:B_\H.H-SG/U]TED_-XDX5!).X2 MDFY6*S]YO1)A_'+1LWIO*^Z#Q3)3*_J3\[6_$ \B^[:^2^2G_I8R#U8B2H,X M(HEXNNA=6I^Y>Z8*Y%O\%HB7=&>9J%UYC./OZL/U_*(W4#42H9AE"N'+/\]B M*L)0D60]_EU">]N8JN#N\AN=Y3LO=^;13\4T#O\1S+/E1>^T1^;BR=^$V7W\ M\E=1[M!0\69QF.:_R4NY[:!'9ILTBU=E85F#51 5?_T?Y8'8*2 YS07LLH"] M7\ ]4, I"SAM([AE ;=MA&%98-BVP*@L,&I;8%P6&.?)*HYNGAK/S_S)>1*_ MD$1M+6EJ(<]O7EIF)(B4%!^R1/XWD.6RRI M'\W3\WXF:Z;X_5E9BZNB%O:!6CCD)HZR94IH-!?SAO*>N?S(4+XOC\CVL-AO MA^7*-@+_M@E/B&/]2NR![3349]J^N-VT.[\O.OU]T=FQXM&)+'HP.F]3W,F+ M#PRI<+8*=7*>"7;X+00XF62^-%"R'8Q(X^O9'>[._\U M7WWYXB=-RJ29]&;_/E/UFCPER8M(&$>$D:1 M,(:$<1!,4Y2[591KHD^F?KHD\^ YF O96LF.2VIH3M9^,"=25JG246,;9J1V M%0T2YA6P80Y3@X_GB>4,W?/^\ZX8D!$9$L9!,$T,PZT8AD8QW(ED)IL*.>PB M]V*^*09(UZHW$^1RL4C$PL\$87Z0D-_\<"/([1-YR.+9=W*[5MLV"<48L:M0 MD#"O@%G6CE(&)Z>GPSVI(&,R)(R#8)I41ENIC(Q2*=(^V^V#Q ^U+)I$4+!& MN]])>7Z@'^AIPT;6_D9>?2/;MD[W4M9 .AN?Z1LQX_YU304(IJ5BO$W%V)B* M;U$B9O$B"OXC6VXM([,XS9K2,:XUD>-Z.HQ!NW[7QK6,U"-29$2&A'$03$OO MZ3:]I^8>NN$[1K89_Y6L11+$C0,[([=KTXN$>>8]=LBK\).F80=%UH(A81P$ MTR1RMI7(F?& 74=9$D1I,"//>;<=><2NG(WCU(&T\IKXS\ MKE)!PKRS6LMQ5FLXD $9$L9!,$T5UJ#R,P9==1%OLC3SHWD0+71]-!H5@_I8 MNG;TI^9*=,UWJY@4&I-!:1Q%TY.^8V)979->?O7]QU"T2+I5'SV=UI-NK$3G MI+>)2:$Q&93&430]Z7:5=/O8F9LXH3,_'"V"?W#23;BNC;X4)IW M9%>'AT<'T'HP*(VC:+I *N/0,KI(DYL@"E:;5:,6H 8@E.9!:11*8U :1]%T M?50VH.6^O[-L05U"*,V#TBB4QJ TCJ+IRJH\1>NHJ=BM:X(ZAE":=V17#2>N MT'HP*(VC:+I *B?1,EN)-_Z/@UT3TJ2;0FD>E$:A- :E<11-UT=E;UKC#^B: MD/[@%$KSH#0*I3$HC:-HNK(J9]4R&XV=NR:HHPJE>4=VU736!#55H32.HND" MJ7Q5RVRLJFD;Y"[T&Z]LFLMV5@/4-872*)3&H#2.HNE3HRJ+U1Z\?^=D(_W( M*93F06D42F-0&D?1=&55/JYM]G&_;%:/(E'V;3$+1RW-XM5*3;R<,-DH&:O]":5Y)VYO] MY\B?O8N.T+ ,2N,HFJZ&RMFU6SF[64P>A1R9B-WKS(UZ@#J[4)IW9%<-SBZT M'@Q*XRB:+I#*V;7-SBYP"#NJ#;%LQQZ.!];>O 1SC3JKHF58"@W+H#2.HNDB MJ.Q;VSP]]:@(_&<_"/.Y*4H%_L$!2'W6ZO!T9-O#?05 O=B642DT*H/2.(JF M"Z!R6>VC+FM^QYS\:I>#31DE2X)9)A<+"6SDN*+1<36C.W<94,<52J-0&H/2 M.(JF"ZAR8>VS#SB?@;JW4)H'I5$HC4%I'$73[Z:LW%O'/$%6W=@4[?=/^3A$ M=4>;:"[_T=Q8%?V47#??).I,2,VW/CP3WZE/:AW5?*1IPU:V,ZS= M,*1MO! MF/D =4TGBJ:GL[),';-E2OTDDLE(52:*;*JE_[OS,4?KVD1 :1Z41J$T!J5Q M%$W75.7!.O;[=SX.U*:%TCPHC4)I#$KC*)JNK)U[^E=?J'/%:'V[3_A?YB_RWO/YS:"*"&=2Y-8'ZK% : MA=(8E,91-%TNE1GK##^@GX(ZME":!Z51*(U!:1Q%TY55N;B.V<6]CM0UGN!9 MOW>LZ(/4XY?4Y%UU8W*0%((S]$30Z;Q0FG?D(%B#PU< H!5A4!I'T73M5.:O M8S9_[ZOQ2]&'?3MXL@6=D NE>5 :A=(8E,91-%TNE57LG'Y )P;UD*$T#TJC M4!J#TCB*IBNK\I"=8X](@'5B4.,82O..' 3#56QH/1B4QE$T_0%IE4GLFDWB M>Q&)E_R^+3OW\Q!NLH&2O.@- JE,2B-HVBZE"J#VK7>OW]SH38U ME.9!:11*8U :1]%T954VM6N>*OQ>9F)9#>W98;6K2M-66WFMMJ*MMF+FP],Y MF7^$,^Q6SK![Q!D.5H)T[F"@$W2A- ]*HU :@](XBJ8K9^=IKNX'=#!0?QE* M\Z T"J4Q*(VC:+JR*G_9-<^ ?;<.9EAK[MVA4^]AZIN-ZK?F>.UHM!V-F0]1 MYX3^$;:N6]FZ[I$GN(HHB!,U9WNV42?&ZCI3VZEZ1R])F6-W;C*@3B^41J$T M!J5Q%$U76&7^NA_PX 87ZA-#:1Z41J$T!J5Q%$U75N43NZT>W-#ZSA,SKK-H MH!;PD5TU>';0>C HC:-HND JN]09I5M[7MWZP C:J&ZFL($I)*)YD MJ,')6 [WDN)E4,6'+%[G[R)ZC+,L7N6+2^'+<;3:0/[_*8ZSMP\JP/:57)/_ M 5!+ P04 " #0@R97\X*B;)D$ !K%@ &0 'AL+W=O4+EQ2823#;TFFZF5S:?E7L M [AK6U02@?;75[*-,;%0H?47L.1S7DF/CB4=C;:4?>4K (%V69KSL;428GUC MVSQ:04;X-5U#+M\L*,N(D$6VM/F: 8D+IRRU7V&1$-R)- M>D1K**Z5?56$>CRU']0A2B(22(/+O#::0IDI) M]N//2M2JVU2.S>>]^N=B\'(PKX3#E*:_);%8C:V!A6)8D$TJ'NGV1Z@&5'0P MHBDO?M&VM.T-+11MN*!9Y2Q[D"5Y^4]V%8B&@]31.[B5@_O>P3_AX%4.WKDM M^)6#?VX+0>50#-TNQUZ "XD@DQ&C6\24M513#P7]PEOR2G(5*$^"R;>)]!.3 M^2_3+_R0[.=#$8.Z!$BFD=)FI!B9J]"$"1)^0=I M_?(4HJMO/XQL(7NB].RH:O6N;-4]T:J'[FDN5AS-\AABC7]H]N\9_&U)H,;@ M[C'W MI;>O]U8KVPU?DPC&EERZ.+ WL";??8-[SO/[+XSCO<&KLAGVG:7<$M%<#[1F!/HGCV 3^$>7R>$,7:%&%<(%V ML9"X=62-\I>2[5(L+,6")K$@:(-MFWG^\"37?LVU;^3ZDC.Y[2[SY&\9HXI@ M2CE'KY##(M%R-,I=RK%+L;#? A2XPS;'CMH\HCVH:0^,M'^8__P\UU$UNEU* MM4NQ<-"FZFBBLVWFNL')Z!S6O(9&7K-=!#(<80?11IWSY3:5J;6S."'J.!KE M+N78I5@X;'_ECM/FJ#'S3W/$SN'T[9CW>(2,8@3P;7TC-X7T^M2+:S4 MCJ#X@8Z>QA"[_FEZ[H&>:Z3W*'M)6+1")(]EMOT&*5UG,A;W2!&)_Y IJ:K2 MTC6J7TRW2[6P4[59I=:<@AX>X--3<$B]L#&MF'P1*V#J8)^17)'?KP=RP2UF MY3 #Y4E+.P^=)FB=JH65VM%*B@>:(&_;>=YIOH>\"IL3J_E9Y_U*Y.BX' S= M5C>G&L-A;] ^?X>5X=&&[0_ZFH&W#3$>!J>/E/B0_&!S]K/?;,[+>:39Y**\,ZEKZYO1V^(^\%W]';Z9 M8DU]J&Y2B\NZ@WQY#7M/V#+).4IA(9MRKONRMZR\V2P+@JZ+J[M7*@3-BL<5 M$)E7*0/Y?D&IV!=4 _7]\N0?4$L#!!0 ( -"#)E>$6H\\S0( #0) 9 M >&PO=V]R:W-H965TPIC\U/=ULH",ZI;,0>"7F509-3A54 M"2\:N+5;%0WDTG FX%81O#M=X:$ZMD*N6#G5RE0Z]M-P0<$F,9 M*/ZM8 2<6R+,-^Z;2CEBG5,)+\)TO-8NB=>"2%&5UR3:_9)U$7N,PHA[X!K=DB?VD3']>I ^>2=\G8RG,0I,+D4*ZB_=12J4GV.@Y M#QH)ORYYBX2=#R1H!V'-?D8OP*FHX)T:>/QZ>+M!35B=3NCXPE><3IVY!;I; MC[8WQJG.:0)##Z\$#6H%7O3^7:??_ESGS#[)XCV1[;C6K5SK-K%'5R+!&U"# M+4UN2SBI2AA+F\F4X'5)$E!8S44$U)9N>0*JZH"C1N!;G=P3V8Z3OA*Z ;+O!9 \H&X/>9E&8SL0FJAU+T!U!+ P04 " #0@R97NH]FP*D" M !>!P &0 'AL+W=OA8&@E:T)C$ABAL>S7);6.1V)GMM.S?[]I)LP"AF]!>$G_<\R"TIXTX2V[$KF<2BU@7C<"6)JLN2RE^G4(C-U!DYVX%KMLJU&7"3N*(K M6("^K:XD]MR.)6,E<,4$)Q*64^=D=#R+3+P-^,9@HWIM8IS<"7%O.A?9U/&, M("@@U8:!XF\-,R@*0X0R?K:<3K>D ?;;6_9SZQV]W%$%,U%\9YG.I\[$(1DL M:5WH:['Y!*V?T/"EHE#V2S9MK.>0M%9:E"T8%92,-W_ZT.:A!T">88#? ORG M@/$+@* %!-9HH\S:FE--DUB*#9$F&ME,P^;&HM$-XV87%UKB+$.<3BZ^S+Y> MGI&;DQ]G"_*>7(,"*M.<4)Z1.:QQERO<,TUNZ .92 ;98[R+GCIC M_M;8J;^3\'-='))@]([XGA\,Z)G]!4[Y2_!'JHBE,';RK"N0:G.3MFU'D?1RR]I_('AD==T;'N]B3<\A TH+(_DG*>B=) MXTE*FY,TE(B&/;+LI@2MDW#B>;&[[AO<*>&5!L/.8+C3X'S0RY"5AB?L6?'' MSZSL7.R55J+.2K33R@5/10G6!1;/&B^NW2U;=4HFGP( MGQ@Z?\.;EN:1RQ;@B M!2P1ZAT>88IE4\V;CA:5+8AW0F-YM&ULM9AM;]LV$,>_"J$50P*LT8,?X]D&$DO"/#1M$+?;@&$O&.EL:95$ ME:3MY-N/I!1%LA751KDW%D7S?G>\/W6B.-T3^I5% !P]I4G&9D;$>3XQ319$ MD&)V17+(Q#]K0E/,Q2W=F"RG@$-EE":F8UE#,\5Q9LRGJN^>SJ=DRY,X@WN* MV#9-,7V^A83L9X9MO'0\Q)N(RPYS/LWQ!E; O^3W5-R9%26,4\A83#)$83TS M;NR);RL#->*/&/:LUD9R*H^$?)4WRW!F6#(B2"#@$H'%90<+2!))$G%\*Z%& MY5,:UMLO=%]-7DSF$3-8D.3/..31S!@;*(0UWB;\@>Q_@W)" \D+2,+4+]J7 M8RT#!5O&25H:BPC2."NN^*E,1,U <-H-G-+ .33HOV'0*PUZIWKHEP;]4ST, M2H/!J0;#TF"HQ5BZ^G>+TW>!]%Y5QF.V!T4CYY.CWZ+1Z?FL9'F097F06>:'T!N).)L@P)9G>/7K(NG*HU5 MLS7A!790"^8PVYV.S\WVX&CNAZG6Z<[7!&M(,JPD&79*XCWEXOT)(4KB-2"R MKHG2)D0G[-S"IA/F=D]SB)X!T[:UY>F,PM<$:T@YJJ0<=$ MCNI-Q?%3>PWK9)VKI$Z8.SIZ^GJCHUIW/,CN'0[R-8754&-S[ MSU,GXUP5=,+<\5')?7\]/A#A>(QMC0Y%T!150X3K2H3K3A$^\0BJ1^$"1*W+ M&%RV"=').5<(G3!7)\S3"?,UP1K*VM;K5Z'U/^S,2Z@FH;727*TT3RO-UT5K MBET[ K U5-,2TG@K'.W+6P8-#@>YIY"\]D&']:][9N=FSJR=HZ1 -^K$BR'U MS5)\U5:]U:G:C3I+.NB_M2<+NZ7?M2=><6;VBB^.\.XPW<090PFLA2OK:B0* M/RU.Q8H;3G)UBO-(.">I:D: 0Z!R@/A_30A_N9$.JK/)^7]02P,$% @ MT(,F5\9\;)&Z P #PT !D !X;"]W;W)K&UL MK5==<]HX%/TK=[R9G62FQ9_8D 7/ ':;;)N0 ;)]5FP!GM@6E61H__U*MG&- MHS#I;G@(EKCGZ)ZC&UUY="#TF6TQYO C2W,VUK:<[ZYUG45;G"'6(SNH:27/-'Y=P#]4>DX&F2XP<*K,@R1'].<4H. M8\W4CA.+9+/E02IX(>9:#VWBL&3(AG.*(2P8DOO9XAM-4$HDTOM><6K.D!+:?C^R? M2NU"RQ-B>$;2;TG,MV-MH$&,UZA(^8(<;G"MIR_Y(I*R\B\J6]-"Y M'/DC2@Y 9;1@DP^E^R5:^)7DLDZ6G(I?$X'C_GVX@MO[V?PNA(=P OHYM0Z2_AWD?; -C^ 95BV(I_9 MV^&62L[_6SW\SZN?F&$WI667?/9OE)9JCRL61\TBS\EKMD,1'FOB(&28[K'F M__F'Z1I_J0Q^3[+@/^; MEN=Z(WW?=O9EE&/).FD'!0HJ9^"YIU&A(LKTC%\+GFCL-QK[9S5^*WL"C@'M M,14M#O(B>\(4R/IX^(@VR;@X:9)\(XXKT5Z22&5'M4R_G9WM&';'#D64(^(Z M?JBY!AT_5%Q]TU7[X39^N&?]"-=KT8Q9J9^3Z!G0 5'U*>LJLAQV]"IBS(XG M@8JGN_>*&,-0*_4:I=Z[[GRS]H'!F<=60J:QLN17>-29HBRF G_"C-N%+)KMB\5A)&;]COJ%8%=2O@ M98S9,\V.9!710%1!ZV.J]0\;_<.S^H-JAW_#@:'* 7MX\NGXH8)T_7@9(_SH MV*'B&73TZZT;7H;IIKQ:,XA(D?.J(S>SS>U]4EY:._-3\WIF*N8#<=NO+N>_ MZ*M7A3M$-TG.(,5KL931\T2MTNKZ70TXV97WRR?"Q6VU?-R*-Q9,98#X?4T( M/P[D LT[D/\O4$L#!!0 ( -"#)E<[P2:PLP( /8' 9 >&PO=V]R M:W-H965TY$C),%#0:@86;F4 MY<"V19JC HH+5B*J;M:,%U JD6]L47($,P,JB.TY3M0_QHBP_YU H[')9P@Y9(WI9SKB2[8,]N+H#'0F=XS=:^$R&UF.#@@1E$K- -5GAR:($$VDPOA> MHSJ>C^5)&A/D% M^]K6L4"Z%9(5-5A%4&!:?>%#78J%J>Z3I>3J%BN<#&^2%;B\F7X=A6-KQ*PFH'5- '+U6SR93J[BI/%$LP^@FCQ*;H! M[T&495@_.20 TZIO=0.\B9&$F(BWRD3DD",QM*6*5WNUTSJV<16;]T1L/KAF M5.8")#1#60L^/H_OGL';JDY-L;Q#L<;>6<+/6W(!?/<=\!S/;XEG\GRXUY;. M_WE/_MG[23'\IG-\P^?_1>>TO7'%$K2SZ#$X$"5,TW=<:5_-^OWNCT_.#6+6\S=M'@ZQ ?&,V MB% I;:FL.K/1-DLJ,K/YD7[L#B9NBSY62ZW:0;_HJXUX#?D&4P$(6BM7SD5/ M!9J,2.N#=3]FC%Y$+2#9M6'/P%02P,$% @ MT(,F5Y&B%87C! E2( !D !X;"]W;W)K&UL MK9IK;^(X%(;_BL6.5JTT0VXD0!>0* D08&:KTLYJ/[K$+5%S6]N4SK]?YT(& M:$A->[Z4Q/A]SG%RWN:$I+>-Z3-;$\+1:QA$K-]88QIB+G8I4\*2RC!7B8* T5754L)L1\U!KUL[(8.>O&&!WY$;BABFS#$]-)MOZ$U=@.W_M.:IP/*H)?@)[(D_#ZYH6)/*2F>'Y*(^7&$*'GL-X;:U4)3 M4T$VXZ=/MFQO&Z5+>8CCYW3']?H--+%8AXP(Z,X^,?W^+K?Z#201Q[Q)N"W\79*B@69*6\5!RS[B[;% M7+6!5AO&X[ 0BPQ"/\H_\6MQ(/8$6NN$0"\$NJS * 2&K*!5"%JR K,0F+(" MJQ!8LH)V(6C+"CJ%H',L,$\(NH6@*QM!5&)QYE39&%IYLJ7/MK8[W5IVOI6\ ML+*JM#''@QZ-MXBF\P4OWG:S@][ MB88_;'1WZPR7][?_HN7=WZ,YNK )QW[ +M$W=+^TT<672_0%*8BM,24,^1&Z MCWS.OHI!L7VWCC<,1Q[K*5RDEP915D4J;IZ*?B(5 WV/([YFR(D\XE7HY_5Z MJT:OB,-2'AM]=VRN]5K@;!,TD:%]1;JJ&Q7YC-Z31TTA/2FWZ^7#A IYYZ3< MD9!KIZ./Y=>N5\@G$G*]>U(^E5G[:;G[N1,W^]S:YY^+OOAP](,J-DJ'&QG/ M^*C#*U*\SI&M:F3:&5RQ!*](OR$N_8S0%](8_/F'9JE_5=D$$F9#PAQ(V!@2 M-H&$32%A+B1L!@F;0\(60+ #R[9*R[;JZ(-;\K0),$4KS-;(\U]\CT2>Z"U7 M8I!X*"'BJS@,11,K.H35'EU6U64L]MS8A838DS(&$C2%A$TC8%!+F0L)FD+!Y#C/W_*-9W7:G M[>K75K-)JUD>L5G67=%U+.M=>D# ;$N9 PL:0L DD; H)=AFJVCRXY;R?IEMK5CJXY;V=9;>/8#6\GF89F=:J]T"Z]T*[UPC*]LJ"$ M^BM25?[M-Q0,%?J9,ZD M5CF78BW>8QV4;*B"1S59G!N1W-$?W'7.4[(T8X#TC1\<1)]LB&O!*Z\M,[ M#"SL$_.U\$ZF^/:0J?$6T\I?GJ]K,SBW)X*$V9 P!Q(VAH1-(&%32)@+"9M! MPN;=-_<2':UC'C5B"Z"0!];5U-^/C]1:\]Y1@MF&_BJ,"F[<^O#G.A>49H/2 M'%#:&)0V :5-06DN*&T&2IN#TA8%;?\?@GK4ERI[3X)#0I^R]QN8:# W$<\? M&96CY3L4P^Q)\M&XJUW-M(KQ>?K.1?;D^3<^?V'C.Z9/?L100!Y%*+79%GG2 M_!V(?(?'2?8<^B'F/ ZSS37!'J'I!/']8QSSW4X:H'P39? _4$L#!!0 ( M -"#)E?,/5@<_0< (%? 9 >&PO=V]R:W-H965TLN^(GFQC9,OZ9+SS/JZ"J/TLK?,LO5YOY_. MEGSEIQ_B-8_$+\]QLO(S<9DL^NDZX?Z\J+0*^\Y@,.JO_"#JC2^*[^Z3\46\ MR<(@XO>)E6Y6*S_Y=LW#>'O9LWNO7TR#Q3++O^B/+];^@C_P[//Z/A%7_8HR M#U8\2H,XLA+^?-F[LL_9<)!7*$K\$?!MNO?9RF_E*8Z_Y!>?YI>]0=XB'O)9 MEB-\\=<+G_ PS$FB'?^6T%X5,Z^X__F5SHJ;%S?SY*=\$H=_!O-L>=D[[5ES M_NQOPFP:;S_R\H:&.6\6AVGQI[4MRPYZUFR39O&JK"Q:L JBW=_^U[(C]BH( M3GT%IZS@Z!6\A@IN6<$]-H)75O".C3 L*PSU"J.&"J.RPJCH^UUG%3U-_,P? M7R3QUDKRTH*6?RC25=06'1Q$^/)YX?'NQLZM29WMQ-Z^SB] M>OQT=_M@_41XY@=A^K/U:]D,GEST,Q$QK]>?E?3K'=UIH+O631QER]2BT9S/ M:^H3<_W1H?K,7-]V#("^Z*JJOYS7_KIVC,3?-^$'R[5_L9R!X]8T:')\=:>N M/[I%I]VBLP/5_:@INM*7;C7VW(+G-8V] M>/*W]9]U-9O%FRA+K2F?\>#%?PIY]7/=D#0&S97Z/%W[,W[9$U*<\N2%]\8_ M_F"/!K_5I1,)(T@81<(8"*8, Z\:!EY!=UL-@[0NM1XRM4@80<(H$L9 ,"6U MPRJU0^,3?KO)GU(K?J[^#:E-JQ'2-JU(&-G!A@4LGZ2]C(7PO>SG"AF.F<(I M"1A5"1@A)%;\*GZ:9=95FO*L+D7&,&U3A(01)(PB80P$4Q)_4B7^!"6J)\C4 M(F$$":-(& /!E-2>5JD]18BJ$=(VK4@8.3THJLAP[/MP=KVHGE4).$.(ZHW_ M3RS*O!:^BWB76:VQ26W3B801)(PB80P$4P:)/9#_LQZ@)+@D@;(+I1$HC4)I M#$53,[SGG=A&(;CG29Y8?\%S-5X5SWNER9:X2/EB)0K4Y]S(;IUS)(V4M+Q[ M*]$7Z\ S9W(K6^432")1&H32&HJFC0WI0 MM@M3::BS!*41*(U":0Q%4S,L[27;:'%T5&FHY02ED9*F"Z8NTE WJ3[F28-& M2Y_(-AM%;]/HQVW<94IM;E/KW$*-)RB-0FD,15/'BK2T[!%,L:&V%91&H#0* MI3$43EFTJ; MV6US#J61DG9(I:%!&8JF)E-:68[9RGJCF"\3WLG5-K>J]3" FF!0&H72&(JF MCA9IJ3D.2MP=J"T&I1$HC4)I#$53,RQM,<>\-JN;N$.-,BB-E#1=W'5MAQI@ M#3$;9N".=+8\%<_J MIV@N$IA\LQY$@&#&TWVIOD_B^48HM5GPI_R%1YL#,V^H30:E$2B-0FD,15/' MB#3=G%.8I$.-,RB-0&D42F,HFIIA:9PYYM5EW23]K/;UG&9=3!J*G:C%2$,Q M1Q?A^F(CM1@SW_<;^]65=I5[P*XZK*Y'SJ>/D5=S8UKO0H'Z6U :A=(8BJ8. M$FF#N39*7EVH=06E$2B-0FD,15,S+*TKU[P:[,C5TR7%L$AY4E-$4T9RF$)K MBFAF!#/?T5M[;&^7W@$K"":RS!\"O>3>%UM_3':71T+544!J!TBB4QE T]00,:4YYL+V"'M19@M((E$:A-(:B MJ1F6SI+WCGL%O=JM<;8NTN8FM$YF?5!]J00T*$/1U"Q)=\@SNT.EC =^F#^) MXM-F=P!:I>K(5W#FMK1^DJ%+HZ T"J4Q%$T=(](/\V [!CVH706E$2B-0FD, M15,SO'<@E7E=53>M]FKGT[I[W%!,FU WE!KI&EQ?3#>2S;?]UFZ5'I%G]HB. M$%?@&SAS8UH_>] 535 :A=(8BJ8.$FEX>;#=?1[4CX+2")1&H32&HJD9EGZ4 M9U[F=.0;.#.E=7:A7E1),[RTH]" #$534R8-)L]L,.&4N_LK0'-36X\+Z+(F M*(U":0Q%4X>0M,D\V'Y #^IA06D$2J-0&D/1U*,^I8G:]]?V^<2N M^9[8YW1W&KS$[PZGO_&311"E5LB?1:A\,6+/2G;GO>\NLGA=G$_^%&=BK!0? ME]R?\R0O('Y_CN/L]2(/4)VZ/_X?4$L#!!0 ( -"#)E=UJCQ@E@T ,%H M 9 >&PO=V]R:W-H965T9-8QT/"1S0)I@R3=_;#8#[)%V\)*HDM2<;KHCU]2DC72O=>C,3WZDOAQ MYM#W<#@SY\X=ZN*A;O[;WE55%WU;S)?MF[.[KKM_?7[>7M]5BTG[4WU?+?O? MW-3-8M+UWS:WY^U]4TVFZT:+^3F/8WV^F,R69Y<7ZY]];"XOZE4WGRVKCTW4 MKA:+2?/'VVI>/[PY8V>//_@TN[WKAA^<7U[<3VZKSU7WV_W'IO_N?,&JP1_YQ5#^W>U]$0RE5=_W?XYOWTS5D\_$75O+KN M!HI)_]_7*JOF\X&I_SM^WY*>[:XY--S_^I&]7 ??!W,U::NLGO]K-NWNWIPE M9]&TNIFLYMVG^N'OU38@-?!=U_-V_6_TL,$:<19=K]JN7FP;]W_!8K;<_#_Y MMA5BKP'G3S3@VP;O6O<"SY="S/G=-_]M9WZZ[_%R\^U#\\B7Z5'S\ M]=.7][^\B[[/JVXRF[<_1-]%LV7TY:Y>M9/EM+TX[_KK#:W.K[?<;S?<_ EN M$7VHE]U=&Q7+:34EVN?N]MK1_KR/DJP(258&(CNXP7)W@Z6+_?+7^ZJ9K&_LM@M'?SHZ\ULG MV7-O;TBR?$.FUF3#Q/SUDEV?:J^5LM518[M MFY9Z7P;)A$P/M<@(&$L8BP]A.89QJ6(N@;($C"4B,8>PTAG52,WT3C/MU"RK MVRZJ;_IEU=/::=R%F-$Q""/#L%08+H!T&,5C$ZL$2$=QBX/P6%4@J,&Z4SZI&:ICM-4Z>F[Y?7]:**OI_W MW?&'Z*:I%U&]F;WJ)2EBBN417$(1*92,X>-,H'1BX$"(49PKV'U+9Y@C162Q MM0ZQ>\;O[JJF]PA[8KZ*EA7Y:&^I#IZT?J( "A(H%8.G,2= 0B:@?Q4$JI^5 MP+14NB,^6+/Z(A75;\@KAX%[2;?Z"=ZRWDXT@OX@&443*1Q M7$,!X+ M+:"O72/8R(I(,=]4<%A+"-0J4XTE ^CE(2344&@ M&$O1F.B.;JQZUJ$QIS^X_*7JMIV/5$W@&+C1<$U#P"3G',I&D/6RP>F9@C$# MUU&E.ZZQNEGCP]S.Y^?%X&C_MYX^AI7A;-E-EK>SJ_D3SR\V&"D:"#&&"SB3 M$""6(@DQ2*2HXYW"A##K0IC;AN153WL]>S(5L&U^T*<2)!D&&0E7A02(Q4)! MS0B44FBL.X4+8=:&,+/*56]S!@Y2D^ZNZ0V'L)^M0^)NA_32 M9!S'?H8;M("@4!+-!01*20DG1P(E$PW7_^ZPQ\IJ#11W&ZAGY^,X-C4_4D)2 M,$)) D9)2< H+4_AI;CU4MSMI9Z3E./8YR@FH8@8!&/."[JE$9.8[]31\^RFZ2,*%AEIV"&:V@J:)@TJ0,ZGD*6\6MK>)N M6W7,VG-L;F!:_3@D)R#011V'E.Y0QDIE;1;WLUF.A3-V,(F.#303%(P;!G,A M?FR%'UOI#FZL>-:#<;<'\_2HG-A]P:DD J7A=)![414^5*4[MI':">O7Q,O\ MFL"^*4D9'+DS"L93F%?/_=@*/[;2'=I8Z:RC$VY'][%^Z&?;]\OIJE___1%] M[B\PNZ[:G<>+_HQL7U\RJ4$=E:)B5/H1 B881Q6Z^0$C$DC.:P0H' BYAJF M ]T!CA70&CKA-G3'BJ8$L5F5<&@7,@+&8Q:CV9F );C&AX )%3/4]TYAYH0U M<\)MYEZ:KA'88BD%=U@S J51>5Y.H!@3L$ZR(&$:+LI+=^!CA;6N3KA=W;,3 M-H+P<%PK-$02,!E+Z) IF#8)ZJ14/:&02,M3V#YA;9]PV[[G)&P$]F("EY42 M*"G0-(-!2J>P<(5 ]6,&S#&X(QRKH/5^XCGE?)XY&T'5X:%RV8R"29G ! 0! MXUP:-.40,(DR0*4[WK%U_-8/2K^($!PG56Z8QVKI?54TEW$ M=SP/)G$YG6 IJGW*"!Q7B3'PZ?7D*SSY2G> 8P6T9D6ZS8IG+DP2!B(1$F;M M,PK7CUH<;L-[\A6>?*4[RK$J[AUG>1391D62.>G EGERJ8-\L)F)*H>KD@8"+AL!*Z M=(R.Y1(542&IH=?*")20:%%-H!()D[4%@3(<[?*YPQHKFW5W MRNWN7II'5)3%@[O &872"HIIH B4DS*.5[K#'RFJ-GO(ZK>6?152$ M3^,";A,0*&;0P2T"U3_\,&%#73&![KQTQSE61^OWE-OOCS"*"VIS2BL M)5&*2&A)7)'0\A2N3UG7IX*>Y5(>9[D(#-/HL?8YRT6 !)IBW &.%7#OC1)N M_W:@('P:WW#("I-#)50H$4ZD% 6*Q0O/+*4R?LJ9/G>PHER+>#@$S*1D! M$@(]Q,1Y+Y2#H$#X[1RGL%#*6BCUTI-(TE1 I: ,17#;;_3&BQB:+H_*9C$*EZ'43!$JF\(A. M0: 4WE1VAS96.NOK],O*$#4V6@F#18@D"%9W$2 FX7L'"PJ5H%,I[J#&BK;W MJL#3%B!J;+<,+!C."%""S#(!8E*@AYA *51\Z YZK*C6W^G Q8<:.R_X:KN, MP$"#3$!0CHO <)1V=</\+@9A4%SR'&>@L"@,? 4UDY; M:Z=/4&BHL0.#Y8,9@8$>F8# J*AW?$6DCCMI#',K:&*!F$+QLD,.AEBSD!X@R. A0( M[FF7[HC&*F8=EG%O7+T@7VN(S2FX+"ACC5ZKX M=.['4.\31$>>*92!0U_NQ55X<97NP,8*9YV,.>)D_/*TAMA60F>W,PJ%;$KN MQ55X<97NZ,:J9\V,.6)F'#E:@XT%VAGPP.0>F,(#4[I#&2N5M3#&;6&.Y6:W MS?=?EF4XW(;+"%3"X$YI[L55>'&5[K">*]OYWB>L+*KF=OU9.&UT7:^6W>8S M,'8_W7W>SL_K3YD!/W_+7F>,^'G.7A>;3].Q])L/]_DP:6YGRS::5S?]I>*? MAO[0;#XO9_--5]^O/]_EJNZZ>K'^\JZ:3*MF /2_OZGK[O&;X0*[3RVZ_#]0 M2P,$% @ T(,F5_&DH<[: @ WP< !D !X;"]W;W)K&ULK55=;]HP%/TK5E9-G;0UWX%V$(G25F-J*0*Z/9MP(5:=F-D. MT'\_VPD1A<#VT)?$=LZY]YSK^+JS8?Q5I 2;3.:BZZ52KFZL6V1I)!A<<56 MD*LO"\8S+-64+VVQXH#GAI11VW.$E3$"^K$9PZRIQDD O"PJ@P3[2IL(Z%DD)(EE5D MI2 C>?G&VZH.>P0W.$'P*H+WOP2_(OC&:*G,V+K#$L<=SC:(:[2*I@>F-H:M MW)!<[^)$/]T_UPVGM$#X-A;]@?J-%DVIN:5308/CR/GWK3 MP?,0?4//,@6.^@7GD$O4$P*D0)=W(#&AXHL"O$SNT.7%%W2!2(ZF*2L$SN>B M8TNE56>TDTK7;:G+.Z'K9T&OD.]^19[C^0WT_C_H.#]%MU6%ZC)Y=9D\$\__ M@#(UF2VC!\W1]4F]$2N<0-=21U$ 7X,5?_[D1L[W)NL?%.Q=(?RZ$/ZYZ/$@ M3U@&2.*M/L.%VEOU3H"L\8P"4GN-5-(5)G.U_SLD-.Y_F272O6<=NU+X. M._9ZWVL#*O2]5HUZ9R*H301G38SQ1ITA"9Q@*I30M?J9&7]K4ED&"O?S>VT_ M.E#9@'*O';]995BK#,^J'%6%A*UJV:*YB.%1XJ@=M _4'8.",'";Q46UN.BL M.-,(FA1%#8K"ZP-%#: P.E&N5JVH=5;1E$E,$3,-*JD:%#8-JDEFZ^B_"OS M/ZS<,:[_ZZGO"?$ER@2@L%,^Y:BFCO+Q.RHED*].19TRJ_FZ& MJ;J!@6N ^KY@3.XFNLG7=WK\%U!+ P04 " #0@R972Q1=A+X" "U!P M&0 'AL+W=O,IEFK*5Z;(.>!%*4JIZ5A68*:8 M9$;4*]*P[!L#^VH8ZO@RX">!C=@9(YW)G+$7/1DM^H:E@8!"++4# M5G]K& *EVDAA_*D]C69++=P=;]WORMQ5+G,L8,CH+[*02=_H&&@!2UQ0^<0V MWZ'.Q]=^,:.B_$6;.M8R4%P(R=):K A2DE7_^+6NPX[ ]HX(G%K@O%?@U@*W M3+0B*].ZP1)'/=G%^@,D0S-$E8(G"U$SY2*4^]FQC73=<7D'&'Z4=!+Y-I?D&,Y M;HM\^!\YSH[)356=ID1.4R*G]',_H$1MR5;N7KN[_DJO1(YCZ!OJ,Q3 UV!$ MGS_9@?6M+?4/,GM3"+?LQ2??I8?X=M"5FBN\@ZLEVKX_?, M]6XF+5$=IQ,T46\0O0;1>Q=BSMEOU2@4JI"M;V!EX^_L[KG=[C[C890=>EZG MG=%O&/V3C/>@V@ZB!,\))9) *Y]_N+/O[N.U!05A.UW0T 4GZ1YE KR-*#C8 MK&M9^T2'0;;C!T<.-6R0PI-(,R8Q50V_.EJH6T\;8WCP3@5AX%A[D(=17K=S M4#=SIZGJ"^T!\Q7)!**P5#KK,E19\NJ2J":2Y66?G3.ING8Y3-2]"EP'J.=+ MQN1VHEMW&ULK99=;]HP%(;_BI554RMM) 0(50>1@!:- MJ5#$QW9MDA.(ZMB9[4#[[V<[(8,VC=2J-V [?E^?Y]CQ2>_ ^*/8 4CTE! J M^M9.RO3&MD6P@P2+!DN!JB<1XPF6JLNWMD@YX-"($F*[CN/9"8ZIY??,V)S[ M/99)$E.80B$'?I6TSH.+.+M3NH!V^^E> M+D.MTSE7/+EW". $J M8D81AZAO#9HWHZZ>;R;\CN$@3MI(DVP8>]2=2=BW'!T0$ BD=L#J;P\C($0; MJ3#^%IY6N:06GK:/[F/#KE@V6,"(D3]Q*'=]Z]I"(40X(W+!#C^AX.EHOX 1 M87[1H9CK6"C(A&1)(581)#'-__%3D8<30;/]AL M!.Y+0><-0:L0M QH'IG! MNL42^SW.#HCKV+16+CL@.BKA' M>=SN&W%[:,JHW ET1T,(S_6VRD&9"/>8B*%;:SC%O(&<[C?D.FZK*IYZ^:^, M-%"K624_"Z=5[DO+^+4^85\JHAWF[NUJ=WTUW(@4!]"WU+LO@._!\K]^:7K. MCRKT3S([2T2[3$2[SMU?4PX!VP/'&P(HRF@H$$Y81F45=N[E&2]]@>U]M1G[ M4Y;:U3[(TBE9.K4L<\XB$")_?R* JG,_S"VN3Q"V.XK6+=Q_0+6/KGY$^!;4Q %"C1-7@3*T;+F#DRIL?]/ MSPNVN@"W,16(0*2D3J.K#AG/BV#>D2PU=63#I*I*IKE3WPW ]03U/&),'CMZ M@?)+Q/\'4$L#!!0 ( -"#)E&PO=V]R:W-H M965TVJ$LCT:833&.J8&R? M37)M(AP[LYT6_OUL)PV%I15B?$GL\SW/XSN?[J(-%_LO^U<:N8[DC$F:<_BXRE4^<,P=EL"0U5==\VCSL +Q] +\%^"\!X1Y T *"URJ$+2!\K<*@!=C0 M<1.[35Q"%(DCP3=(&&_-9A8V^Q:M\U4P4R@SNKU)T/'1"3I"!4,_!3_R#AMYJ>HL#[A'S7#WKN,WL]W.\+Y__4 MYV]6?Y:,H*N"P/(%;ZF"OL=NZ,)^.M/;QK(B*4P_]!#XI*EO 1T_)U+>=+W#@W%T%*8D;"./7\T M'$5XO9O@?[U"W]3-KE/20Q6>C8;/O>8]7M[(?1)L0L4[#:D$L;*30**4UTPU M5=E9NV%S;GOL"_O4&\^\'GNBAU,S2Y[HF\EV1<2J8!)16&HI]W2D^Z5HID6S M4;RR[?".*]U<[3+7 Q:$<=#G2\[5=F,$NI$=_P502P,$% @ T(,F5^HA MQ,E$ @ B@8 !D !X;"]W;W)K&ULG95;;YLP M%(#_BL6D/;7AELN6 5+2;5HJ=8K2;GMVX !6C,.$0M%\^R!%#HI:),QDZI5+UT79F64&$YX34P_23GHL)*3T7AREH SFQ2 M1=W \^9NA0ESDLBN;442\491PF KD&RJ"HO7-5#>QH[O'!=VI"B567"3J,8% M/(+Z46^%GKD#)2,5,$DX0P+RV%GYR_7"Q-N GP1:>3)&II(]Y\]FLLEBQS-" M0"%5AH#U[0!W0*D!:8W?/=,9MC2)I^,C_:NM7=>RQQ+N./U%,E7&S@<'99#C MAJH=;[]!7\_,\%).I;VBMHL-/SHH;:3B59^L#2K"NCM^Z<_A)$%SSB<$?4)@ MO;N-K.5GK' 2"=XB8:(US0QLJ39;RQ%F7LJC$OHIT7DJV>CCS4"@)X$SP@JT M$@*S O2Q*QFY2N]@XMRTIZT[6G"!%J('SE0IT1>60?9OOJO-!KW@J+<.1H'W M#9V@T+]!@1>$([QP*#>TO/ "[UR9-VC_BC8L(P>2-9B>J[J#3L]#S7>SE#5. M(7;TAR%!',!)WK_SY]ZG$>7IH#P=HR>[A@+RO?WLUC_51JN,U^K_0^YTQX$Y MIA)&Q&:#V&R4\YVSVRODQJ%ORZ=]EAJ7\6($R ?IYSKHX3L\'P^TG^ %!+ P04 " #0 M@R97B ?J"S(# #($P #0 'AL+W-T>6QEE60MVNV#,!*M#D)BIE(W)_ M]O;'4IFK-X&[G[P[.>G[ MPENAWQ$''N)IPSO%:(DW7XL)G8HC@KNM!D=4Z.9=*5[E=!O<]K8?O 9L> M&.1"- 9[Q 7&PX(:P[2\MIUJ25AXVC+IA96=,B%MX K]G.]JK MK+5O'=@UV32MH;KI9%P']-MJ3KLM&[U*-RCX@S*?EG8ZLNI#8;,;S3*^JOJK MK#& J7=Q=5H48OU1\+G,F9O\BQ..AW3#"Q9*\T>;#4IE9@-,D^"!:<-G[$7K^N^L\9Y)I*MJF;>T?\BJ_VG%T^:\L5[]5]@U[/=:O MU4,WV3\&D_$QF#R*FAP<@\GD\$U&A^DQK \9K9/,SCFFB09P7AR1;W#Z%-ND MP73)A>&R[BUXFC+YY#ACY0V=VC]3=O3M^)1E="G,70..R+;]E:5\F2?-J!M8 MB'K4MOT%IM>-F\.JS<5ERE8LG=1=/9]6S< V;-;Z L(^SEGVF21%$<8RLZ MF7@=3+!UBV/X\:MAWH"!Y8%,?[;6^&[C%?)\'6![^ER%8#/%*Q&;*;[6@/C7 M#1A)XM]M+ \PL%W :@?R^_- 3?DY402[BGG#GF <21(,@5KTUV@<(ZL3P\>_ M/]A3$D5)XD< \SN((@R!IQ%', ?@ 4.BJ'H/[KV/PLU[*MS^[V[\"U!+ P04 M " #0@R97EXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_ MQ=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+ MJ1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D M5XA-/E_G;@ M2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/ M['X 4$L#!!0 ( -"#)E<^,B>44@4 )HJ / >&PO=V]R:V)O;VLN M>&ULQ9I;;^(X%(#_BL73K+1=(+>9J4JED+AMM!#8)#"[3RLW,6TTN2 G]#*_ M?IU09NR6'NW+*2^%),9\.2[G.[9S\5B+[[=U_9T\E4753 ;W;;L]'PZ;])Z7 MK/FCWO)*7MG4HF2M/!1WPV8K.,N:>\[;LA@:HY$S+%E>#2XO#GTMQ5 ]J%N> MMGE=R9/=B77.'YM?U[M#\I W^6U>Y.WS9-"_+_B E'F5E_D/GDT&HP%I[NO' MFUKD/^JJ946=%RX;.67XMZM\VKNZX;>1=#Y3;Z.!Q>]T$\%_\G MC/5FDZ?I+<(?1K&U"?R7;R8!;Z;R(,XD2]S&BJ0 M!@!IG 1RZL[!U((N+&,4UB%0Q4"[);KH)0IKX@ MO"9N%$G$3B@Z'>24,;I4YO,@>8,$&62,K) 9O79G_<]4!HW*T%$-#?+&&%D< M<;+P_CR;NONL/%_*_.QVN4_E@Y0Q1G9&$$HJ2A+W;SUFD"'&R(H(:4)>N)8T M(O&-&VE) Q+#&-D,?;KU@W4@3>OODVT243=>1?](T2Y43$@-8VPWK"3,7 9/ M_B@\VNFK^Z?31AB2PAC9"C&][A*(E,)R$74_6K5>AIQ@(#LA7BV7LS[?RH3R MDH?ENV-E/60( ]D08!&EE:,&./U 5@6,J1:D!J0/ UD?8+6G1Q-2B8$]!X'J M/1T3,HJ!;I17917YE#")T/RF$D)^,9#]HE0P1]D@OQC(?GFO7G@!53$AOQC( M?E'+AJ,QA.QB(-OE6/UP#-*$3&-BF^:U H\20I(QD24#NE#+-R8D&?.DDK%4 M3'"5ZZ2245UH0I(QD24#8VK1A"1C(DL&QK153,@T)K9I0&5K@PY)Q_R 2\R">?MRPOM.1N0?JQ/GKQBYP1KRZW=24_UZA; M Q;D( O90<.CA1Q-F0@&]M X.*1]BP*9"#GE/L]VLS7@0SDG'0I3IWY.I"! M'&0#+=DS>6C(DHO^XU7*B9\W:5$WLH17(2'_.-C^J9H\XX(D@F6=P-VN<+_C MW:?4B9H#R7%QG?Y!7/0ME_(\^GK$B7@G0O^Z&UL+G)E;'/-V3MNVT 4A>&M"%R 1_0"^D0*=(8/!4Q)'CY%\0'8OCTJQS:<=^=ZF[? MU\7'\7"JJV8WCOV/E.IZ5XYMO>OZ00I#.'V009/,'.03Y_$$!03%_4(:@/'_0 M/03=SQ_T $$/\P<]0M#C_$&R1!F7!$D3K FT%N1:"+P6!%L(Q!8D6PC,%D1; M"-069%L(W!:$6PCD%J1;".P6Q%L(]%;46PGT5M1;"?36R<BN!WHIZ M*X'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WH9Z&X'>AGH;@=Z&>AN!WC;9 M+"'0VU!O(]#;4&\CT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU%O)]#;46\GT-M1 M;R?0VU%O)]#;)YO=!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z!^H=!'H' MZAT$>@?J'01Z!^H=!'H'ZAT$>L?D9R6!WH%Z!X'>@7H'@=Z!>@>!WH%Z!X'> M&?7.!'IGU#L3Z)U1[TR@=T:],X'>&?7.WZEW'3\/I5Y[OM;X_.^D>CS?6ZZ/ MORR_3D[>W@O.Z;:B/O\%4$L#!!0 ( -"#)E? B&UTZ0$ 'XE 3 M6T-O;G1E;G1?5'EP97-=+GAM;,W:74_",!0&X+]"=FM8Z=?\B'"CWJH7_H&Z M'61A6YNV(/Q[NP$F&B4:3'QO6*#M><]ZDN>*ZZ>MHS#:M$T7IMDB1G?%6"@7 MU)J06T==6IE;WYJ8OOH7YDRY-"_$Q&12L-)VD;HXCGV-;'9]2W.S:N+H;I-^ M#K7MIIFG)F2CF]W&/FN:&>>:NC0QK;-U5WU*&>\3\G1RV!,6M0MG:4/&ODSH M5[X/V)][6)/W=46C1^/CO6G3+K9I6(C;AD)^O,07/=KYO"ZILN6J34?RX#R9 M*BR(8MODNZ)GQY-CNF':??*3\X00V/$Z_XX\S?J__RSX$2!\2I \%TH<& MZ:, Z>,&UL4$L! A0#% @ T(,F M5[/KW;+N *P( !$ ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ T(,F5YE&PO=V]R:W-H965T&UL4$L! A0#% @ T(,F5X9"^TTF!@ W!H !@ ("! M!0X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MT(,F5[0/^XM "P B&P !@ ("!2AX 'AL+W=O&PO=V]R:W-H965TC(1;OQ , #L* 9 " M@8A? !X;"]W;W)K&UL4$L! A0#% @ T(,F M5]L;Z ;M!0 KPX !D ("!@V, 'AL+W=O&PO=V]R:W-H965TIS !X;"]W;W)K M&UL4$L! A0#% @ T(,F5RYI8 ()"P '24 M !D ("!U'8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ T(,F5Z!("7;Z P 60D !D M ("!(I$ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ T(,F5U#C)F8J!0 ( T !D ("!MZ( 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ T(,F5P,J M/U/T @ 1 < !D ("!@+H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ T(,F5_=,M/C3 @ J@8 !D M ("!4L0 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ T(,F5[U\X##' P I@P !D ("! MW,\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ T(,F5[[UZOUZ P .@\ !D ("!,]\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ T(,F5VS]E6S9 M P Z!, !D ("!'>D 'AL+W=O&PO=V]R:W-H965T"_:P4 #(; 9 " @77P !X;"]W;W)K&UL4$L! A0#% @ T(,F5W08C&QX @ H@8 !D M ("!%_8 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ T(,F5S^HE0#/ @ K0P !D ("! /\ M 'AL+W=O&PO=V]R:W-H965TP% 0!X;"]W;W)K&UL4$L! A0#% @ MT(,F5S()DA@N P APH !D ("!N H! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ T(,F5_."HFR9! :Q8 !D M ("!JR&PO=V]R:W-H M965TZCV; J0( %X' 9 M " @7\O 0!X;"]W;W)K&UL4$L! M A0#% @ T(,F5R'(?)_[ P IQ0 !D ("!7S(! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ T(,F M5Y&B%87C! E2( !D ("!;#T! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ T(,F5_&DH<[: @ WP< M !D ("!AU@! 'AL+W=O&PO=V]R:W-H965T%%Q M[@( )4( 9 " @8U> 0!X;"]W;W)K&UL4$L! A0#% @ T(,F5S:.B(F# @ O@< !D M ("!LF$! 'AL+W=O&PO=V]R:W-H965T M(!^H+,@, ,@3 - M " >=F 0!X;"]S='EL97,N>&UL4$L! A0#% @ T(,F5Y>* MNQS $P( L ( !1&H! %]R96QS+RYR96QS4$L! A0# M% @ T(,F5SXR)Y12!0 FBH \ ( !+6L! 'AL+W=O M7!E&UL4$L%!@ !( $@ KQ, ]U 0 $! end XML 78 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 79 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 80 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 199 303 1 false 55 0 false 6 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.arganinc.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS Statements 2 false false R3.htm 00200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 3 false false R4.htm 00205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 4 false false R5.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 10101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION Sheet http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION Notes 7 false false R8.htm 10201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers REVENUES FROM CONTRACTS WITH CUSTOMERS Notes 8 false false R9.htm 10301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments CASH, CASH EQUIVALENTS AND INVESTMENTS Notes 9 false false R10.htm 10401 - Disclosure - ACCOUNTS RECEIVABLE Sheet http://www.arganinc.com/role/DisclosureAccountsReceivable ACCOUNTS RECEIVABLE Notes 10 false false R11.htm 10501 - Disclosure - INTANGIBLE ASSETS Sheet http://www.arganinc.com/role/DisclosureIntangibleAssets INTANGIBLE ASSETS Notes 11 false false R12.htm 10601 - Disclosure - FINANCING ARRANGEMENTS Sheet http://www.arganinc.com/role/DisclosureFinancingArrangements FINANCING ARRANGEMENTS Notes 12 false false R13.htm 10701 - Disclosure - COMMITMENTS Sheet http://www.arganinc.com/role/DisclosureCommitments COMMITMENTS Notes 13 false false R14.htm 10801 - Disclosure - LEGAL CONTINGENCIES Sheet http://www.arganinc.com/role/DisclosureLegalContingencies LEGAL CONTINGENCIES Notes 14 false false R15.htm 10901 - Disclosure - STOCK-BASED COMPENSATION Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensation STOCK-BASED COMPENSATION Notes 15 false false R16.htm 11001 - Disclosure - INCOME TAXES Sheet http://www.arganinc.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 16 false false R17.htm 11101 - Disclosure - NET INCOME PER SHARE Sheet http://www.arganinc.com/role/DisclosureNetIncomePerShare NET INCOME PER SHARE Notes 17 false false R18.htm 11201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK Sheet http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock CASH DIVIDENDS AND TREASURY STOCK Notes 18 false false R19.htm 11301 - Disclosure - CUSTOMER CONCENTRATIONS Sheet http://www.arganinc.com/role/DisclosureCustomerConcentrations CUSTOMER CONCENTRATIONS Notes 19 false false R20.htm 11401 - Disclosure - SEGMENT REPORTING Sheet http://www.arganinc.com/role/DisclosureSegmentReporting SEGMENT REPORTING Notes 20 false false R21.htm 11501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION Sheet http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION Notes 21 false false R22.htm 20102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies) Sheet http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies) Policies 22 false false R23.htm 30103 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables) Sheet http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationTables DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables) Tables http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation 23 false false R24.htm 30203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables) Tables http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers 24 false false R25.htm 30303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables) Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables) Tables http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments 25 false false R26.htm 30503 - Disclosure - INTANGIBLE ASSETS (Tables) Sheet http://www.arganinc.com/role/DisclosureIntangibleAssetsTables INTANGIBLE ASSETS (Tables) Tables http://www.arganinc.com/role/DisclosureIntangibleAssets 26 false false R27.htm 30703 - Disclosure - COMMITMENTS (Tables) Sheet http://www.arganinc.com/role/DisclosureCommitmentsTables COMMITMENTS (Tables) Tables http://www.arganinc.com/role/DisclosureCommitments 27 false false R28.htm 30903 - Disclosure - STOCK-BASED COMPENSATION (Tables) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationTables STOCK-BASED COMPENSATION (Tables) Tables http://www.arganinc.com/role/DisclosureStockBasedCompensation 28 false false R29.htm 31003 - Disclosure - INCOME TAXES (Tables) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesTables INCOME TAXES (Tables) Tables http://www.arganinc.com/role/DisclosureIncomeTaxes 29 false false R30.htm 31103 - Disclosure - NET INCOME PER SHARE (Tables) Sheet http://www.arganinc.com/role/DisclosureNetIncomePerShareTables NET INCOME PER SHARE (Tables) Tables http://www.arganinc.com/role/DisclosureNetIncomePerShare 30 false false R31.htm 31403 - Disclosure - SEGMENT REPORTING (Tables) Sheet http://www.arganinc.com/role/DisclosureSegmentReportingTables SEGMENT REPORTING (Tables) Tables http://www.arganinc.com/role/DisclosureSegmentReporting 31 false false R32.htm 31503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables) Sheet http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables) Tables http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation 32 false false R33.htm 40101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details) Sheet http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details) Details 33 false false R34.htm 40201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Details) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails REVENUES FROM CONTRACTS WITH CUSTOMERS (Details) Details http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables 34 false false R35.htm 40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details) Details 35 false false R36.htm 40203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) Details 36 false false R37.htm 40301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details) Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails CASH, CASH EQUIVALENTS AND INVESTMENTS (Details) Details http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables 37 false false R38.htm 40302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details) Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details) Details 38 false false R39.htm 40303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details) Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details) Details 39 false false R40.htm 40401 - Disclosure - ACCOUNTS RECEIVABLE (Details) Sheet http://www.arganinc.com/role/DisclosureAccountsReceivableDetails ACCOUNTS RECEIVABLE (Details) Details http://www.arganinc.com/role/DisclosureAccountsReceivable 40 false false R41.htm 40501 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details) Sheet http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails INTANGIBLE ASSETS - Components of Intangible Assets (Details) Details 41 false false R42.htm 40502 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details) Sheet http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails INTANGIBLE ASSETS - Additional Information (Details) Details 42 false false R43.htm 40601 - Disclosure - FINANCING ARRANGEMENTS (Details) Sheet http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails FINANCING ARRANGEMENTS (Details) Details http://www.arganinc.com/role/DisclosureFinancingArrangements 43 false false R44.htm 40701 - Disclosure - COMMITMENTS - Leases (Details) Sheet http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails COMMITMENTS - Leases (Details) Details 44 false false R45.htm 40702 - Disclosure - COMMITMENTS - Future minimum lease payments (Details) Sheet http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails COMMITMENTS - Future minimum lease payments (Details) Details 45 false false R46.htm 40703 - Disclosure - COMMITMENTS - Warranties (Details) Sheet http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails COMMITMENTS - Warranties (Details) Details 46 false false R47.htm 40901 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details) Details 47 false false R48.htm 40902 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details) Details 48 false false R49.htm 40903 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details) Details 49 false false R50.htm 40904 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails STOCK-BASED COMPENSATION - Additional Information (Details) Details 50 false false R51.htm 41001 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails INCOME TAXES - Income Tax Expense Reconciliation (Details) Details 51 false false R52.htm 41002 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails INCOME TAXES - Net Operating Loss Carryback (Details) Details 52 false false R53.htm 41003 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails INCOME TAXES - Research and Development Tax Credits (Details) Details 53 false false R54.htm 41004 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details) Details 54 false false R55.htm 41101 - Disclosure - NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN (Details) Sheet http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN (Details) Details 55 false false R56.htm 41102 - Disclosure - NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN - Additional information (Details) Sheet http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganAdditionalInformationDetails NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN - Additional information (Details) Details 56 false false R57.htm 41201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK (Details) Sheet http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails CASH DIVIDENDS AND TREASURY STOCK (Details) Details http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock 57 false false R58.htm 41301 - Disclosure - CUSTOMER CONCENTRATIONS (Details) Sheet http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails CUSTOMER CONCENTRATIONS (Details) Details http://www.arganinc.com/role/DisclosureCustomerConcentrations 58 false false R59.htm 41401 - Disclosure - SEGMENT REPORTING (Details) Sheet http://www.arganinc.com/role/DisclosureSegmentReportingDetails SEGMENT REPORTING (Details) Details http://www.arganinc.com/role/DisclosureSegmentReportingTables 59 false false R60.htm 41501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details) Sheet http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details) Details 60 false false R61.htm 41502 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details) Sheet http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details) Details 61 false false R62.htm 41503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details) Sheet http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details) Details 62 false false R63.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 63 false false R64.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 64 false false All Reports Book All Reports agx-20230731x10q.htm agx-20230731.xsd agx-20230731_cal.xml agx-20230731_def.xml agx-20230731_lab.xml agx-20230731_pre.xml agx-20230731xex31d1.htm agx-20230731xex31d2.htm agx-20230731xex32d1.htm agx-20230731xex32d2.htm agx-20230731x10q001.jpg http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 83 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "agx-20230731x10q.htm": { "axisCustom": 0, "axisStandard": 25, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 842, "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 4 }, "contextCount": 199, "dts": { "calculationLink": { "local": [ "agx-20230731_cal.xml" ] }, "definitionLink": { "local": [ "agx-20230731_def.xml" ] }, "inline": { "local": [ "agx-20230731x10q.htm" ] }, "labelLink": { "local": [ "agx-20230731_lab.xml" ] }, "presentationLink": { "local": [ "agx-20230731_pre.xml" ] }, "schema": { "local": [ "agx-20230731.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/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-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" ] } }, "elementCount": 550, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2023": 17, "http://www.arganinc.com/20230731": 3, "http://xbrl.sec.gov/dei/2023": 6, "total": 26 }, "keyCustom": 44, "keyStandard": 259, "memberCustom": 18, "memberStandard": 35, "nsprefix": "agx", "nsuri": "http://www.arganinc.com/20230731", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "menuCat": "Cover", "order": "1", "role": "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "agx:TradeAndOtherReceivablesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - ACCOUNTS RECEIVABLE", "menuCat": "Notes", "order": "10", "role": "http://www.arganinc.com/role/DisclosureAccountsReceivable", "shortName": "ACCOUNTS RECEIVABLE", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "agx:TradeAndOtherReceivablesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - INTANGIBLE ASSETS", "menuCat": "Notes", "order": "11", "role": "http://www.arganinc.com/role/DisclosureIntangibleAssets", "shortName": "INTANGIBLE ASSETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - FINANCING ARRANGEMENTS", "menuCat": "Notes", "order": "12", "role": "http://www.arganinc.com/role/DisclosureFinancingArrangements", "shortName": "FINANCING ARRANGEMENTS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - COMMITMENTS", "menuCat": "Notes", "order": "13", "role": "http://www.arganinc.com/role/DisclosureCommitments", "shortName": "COMMITMENTS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - LEGAL CONTINGENCIES", "menuCat": "Notes", "order": "14", "role": "http://www.arganinc.com/role/DisclosureLegalContingencies", "shortName": "LEGAL CONTINGENCIES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - STOCK-BASED COMPENSATION", "menuCat": "Notes", "order": "15", "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensation", "shortName": "STOCK-BASED COMPENSATION", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - INCOME TAXES", "menuCat": "Notes", "order": "16", "role": "http://www.arganinc.com/role/DisclosureIncomeTaxes", "shortName": "INCOME TAXES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - NET INCOME PER SHARE", "menuCat": "Notes", "order": "17", "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShare", "shortName": "NET INCOME PER SHARE", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "agx:CashDividendAndTreasuryStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK", "menuCat": "Notes", "order": "18", "role": "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock", "shortName": "CASH DIVIDENDS AND TREASURY STOCK", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "agx:CashDividendAndTreasuryStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11301 - Disclosure - CUSTOMER CONCENTRATIONS", "menuCat": "Notes", "order": "19", "role": "http://www.arganinc.com/role/DisclosureCustomerConcentrations", "shortName": "CUSTOMER CONCENTRATIONS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS", "menuCat": "Statements", "order": "2", "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11401 - Disclosure - SEGMENT REPORTING", "menuCat": "Notes", "order": "20", "role": "http://www.arganinc.com/role/DisclosureSegmentReporting", "shortName": "SEGMENT REPORTING", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION", "menuCat": "Notes", "order": "21", "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)", "menuCat": "Policies", "order": "22", "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies", "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30103 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)", "menuCat": "Tables", "order": "23", "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationTables", "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)", "menuCat": "Tables", "order": "24", "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - INTANGIBLE ASSETS (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsTables", "shortName": "INTANGIBLE ASSETS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30703 - Disclosure - COMMITMENTS (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.arganinc.com/role/DisclosureCommitmentsTables", "shortName": "COMMITMENTS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30903 - Disclosure - STOCK-BASED COMPENSATION (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables", "shortName": "STOCK-BASED COMPENSATION (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31003 - Disclosure - INCOME TAXES (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesTables", "shortName": "INCOME TAXES (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "menuCat": "Statements", "order": "3", "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31103 - Disclosure - NET INCOME PER SHARE (Tables)", "menuCat": "Tables", "order": "30", "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShareTables", "shortName": "NET INCOME PER SHARE (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31403 - Disclosure - SEGMENT REPORTING (Tables)", "menuCat": "Tables", "order": "31", "role": "http://www.arganinc.com/role/DisclosureSegmentReportingTables", "shortName": "SEGMENT REPORTING (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)", "menuCat": "Tables", "order": "32", "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:InvestmentTableTextBlock", "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "reportCount": 1, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)", "menuCat": "Details", "order": "33", "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails", "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_bo52YOT8u0OoOgagbdx5Ow", "decimals": "-3", "lang": null, "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Details)", "menuCat": "Details", "order": "34", "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20230801_ZDT2pPf9MUijWaz0oP2s4Q", "decimals": "-8", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)", "menuCat": "Details", "order": "35", "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20230801_ZDT2pPf9MUijWaz0oP2s4Q", "decimals": "-8", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)", "menuCat": "Details", "order": "36", "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_srt_StatementGeographicalAxis_country_US_2y9hqTXprEmd0_8Ij5iuRA", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-5", "first": true, "lang": null, "name": "agx:AccruedInvestmentIncomeDividendReceivable", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)", "menuCat": "Details", "order": "37", "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-5", "first": true, "lang": null, "name": "agx:AccruedInvestmentIncomeDividendReceivable", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)", "menuCat": "Details", "order": "38", "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:InvestmentTableTextBlock", "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShortTermInvestments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)", "menuCat": "Details", "order": "39", "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:InvestmentTableTextBlock", "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShortTermInvestments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_IKC4o_9yCUehD1_MzfduaA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "menuCat": "Statements", "order": "4", "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_IKC4o_9yCUehD1_MzfduaA", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "agx:TradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - ACCOUNTS RECEIVABLE (Details)", "menuCat": "Details", "order": "40", "role": "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails", "shortName": "ACCOUNTS RECEIVABLE (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "agx:TradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details)", "menuCat": "Details", "order": "41", "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails", "shortName": "INTANGIBLE ASSETS - Components of Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details)", "menuCat": "Details", "order": "42", "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails", "shortName": "INTANGIBLE ASSETS - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember_biZAzFcI70KnC4CAGjSpjQ", "decimals": "-5", "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_A3711ymP7UuFTnxMHBU0AA", "decimals": "-5", "first": true, "lang": null, "name": "agx:LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - FINANCING ARRANGEMENTS (Details)", "menuCat": "Details", "order": "43", "role": "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails", "shortName": "FINANCING ARRANGEMENTS (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_A3711ymP7UuFTnxMHBU0AA", "decimals": "-5", "first": true, "lang": null, "name": "agx:LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - COMMITMENTS - Leases (Details)", "menuCat": "Details", "order": "44", "role": "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails", "shortName": "COMMITMENTS - Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40702 - Disclosure - COMMITMENTS - Future minimum lease payments (Details)", "menuCat": "Details", "order": "45", "role": "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails", "shortName": "COMMITMENTS - Future minimum lease payments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R46": { "firstAnchor": null, "groupType": "disclosure", "isDefault": "false", "longName": "40703 - Disclosure - COMMITMENTS - Warranties (Details)", "menuCat": "Details", "order": "46", "role": "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "shortName": "COMMITMENTS - Warranties (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_1_31_2023_gwLL_RJ_w0uHxnlFHoDN-A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)", "menuCat": "Details", "order": "47", "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails", "shortName": "STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "-3", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_1_31_2023_gwLL_RJ_w0uHxnlFHoDN-A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40902 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)", "menuCat": "Details", "order": "48", "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails", "shortName": "STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_1_31_2023_gwLL_RJ_w0uHxnlFHoDN-A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_diu_hBFNgUqKf6TpxWycZA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40903 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details)", "menuCat": "Details", "order": "49", "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails", "shortName": "STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_diu_hBFNgUqKf6TpxWycZA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t7udXEPqeUKmJUOBFOt9IQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "menuCat": "Statements", "order": "5", "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t7udXEPqeUKmJUOBFOt9IQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockDividendsShares", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40904 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details)", "menuCat": "Details", "order": "50", "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "shortName": "STOCK-BASED COMPENSATION - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockDividendsShares", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_8yi_qjM3B0GdAKDibQRzcg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details)", "menuCat": "Details", "order": "51", "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails", "shortName": "INCOME TAXES - Income Tax Expense Reconciliation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_8yi_qjM3B0GdAKDibQRzcg", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "agx:IncreaseInLossCarrybackPeriodForCertainLosses", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41002 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details)", "menuCat": "Details", "order": "52", "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails", "shortName": "INCOME TAXES - Net Operating Loss Carryback (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "agx:IncreaseInLossCarrybackPeriodForCertainLosses", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationTaxCreditsResearch", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41003 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details)", "menuCat": "Details", "order": "53", "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails", "shortName": "INCOME TAXES - Research and Development Tax Credits (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationTaxCreditsResearch", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:EquityMethodInvestments", "reportCount": 1, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41004 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)", "menuCat": "Details", "order": "54", "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails", "shortName": "INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_1_31_2023_gwLL_RJ_w0uHxnlFHoDN-A", "decimals": "-5", "lang": null, "name": "us-gaap:EquityMethodInvestments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN (Details)", "menuCat": "Details", "order": "55", "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails", "shortName": "NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "-3", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41102 - Disclosure - NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN - Additional information (Details)", "menuCat": "Details", "order": "56", "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganAdditionalInformationDetails", "shortName": "NET INCOME PER SHARE ATTRIBUTABLE TO THE STOCKHOLDERS OF ARGAN - Additional information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EiXpZhbgm0i6yTJxQRiCEQ", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "agx:CashDividendAndTreasuryStockTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_6_20_2023_To_6_20_2023_mp5taEb9tkGtWuEtkU5MNA", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:CommonStockDividendsPerShareDeclared", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_IKC4o_9yCUehD1_MzfduaA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK (Details)", "menuCat": "Details", "order": "57", "role": "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails", "shortName": "CASH DIVIDENDS AND TREASURY STOCK (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "agx:CashDividendAndTreasuryStockTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_6_20_2023_To_6_20_2023_mp5taEb9tkGtWuEtkU5MNA", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:CommonStockDividendsPerShareDeclared", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_IKC4o_9yCUehD1_MzfduaA", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_GusF-WclCESbX5O2P8bnyg", "decimals": "INF", "first": true, "lang": null, "name": "agx:NumberOfMajorCustomers", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_customer_5S3u0nHfI0iHLGnAGm7V3w", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41301 - Disclosure - CUSTOMER CONCENTRATIONS (Details)", "menuCat": "Details", "order": "58", "role": "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails", "shortName": "CUSTOMER CONCENTRATIONS (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_GusF-WclCESbX5O2P8bnyg", "decimals": "INF", "first": true, "lang": null, "name": "agx:NumberOfMajorCustomers", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_customer_5S3u0nHfI0iHLGnAGm7V3w", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_mMJIX5y0a06b30DHAGpBmg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41401 - Disclosure - SEGMENT REPORTING (Details)", "menuCat": "Details", "order": "59", "role": "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "shortName": "SEGMENT REPORTING (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_mMJIX5y0a06b30DHAGpBmg", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "menuCat": "Statements", "order": "6", "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": "-3", "lang": null, "name": "us-gaap:IncreaseDecreaseInAccruedInterestReceivableNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "agx:IncomeTaxRefundsAndPrepaidIncomeTaxes", "reportCount": 1, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)", "menuCat": "Details", "order": "60", "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "lang": null, "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedEmployeeBenefitsCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41502 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)", "menuCat": "Details", "order": "61", "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "As_Of_7_31_2023_8LYgxC_H6kmoFY3ekLUI5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedEmployeeBenefitsCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "p", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_3_7_2023_To_3_7_2023_us-gaap_UnusualOrInfrequentItemAxis_agx_FraudulentlyInducedPaymentMember_HHUxHYid-k-6UeK6yiGfaw", "decimals": "-5", "first": true, "lang": null, "name": "agx:UnusualOrInfrequentItemUnrecoverableFundsAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)", "menuCat": "Details", "order": "62", "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_3_7_2023_To_3_7_2023_us-gaap_UnusualOrInfrequentItemAxis_agx_FraudulentlyInducedPaymentMember_HHUxHYid-k-6UeK6yiGfaw", "decimals": "-5", "first": true, "lang": null, "name": "agx:UnusualOrInfrequentItemUnrecoverableFundsAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_8cCCkKxYREKitY51UpFJCw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "menuCat": "Uncategorized", "order": "63", "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "shortName": "Pay vs Performance Disclosure", "subGroupType": "", "uniqueAnchor": null }, "R64": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:Rule10b51ArrAdoptedFlag", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995445 - Disclosure - Insider Trading Arrangements", "menuCat": "Cover", "order": "64", "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "shortName": "Insider Trading Arrangements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_5_1_2023_To_7_31_2023_daltXY00REO0vv3Mm06ASQ", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:Rule10b51ArrAdoptedFlag", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION", "menuCat": "Notes", "order": "7", "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation", "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS", "menuCat": "Notes", "order": "8", "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS", "menuCat": "Notes", "order": "9", "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "agx-20230731x10q.htm", "contextRef": "Duration_2_1_2023_To_7_31_2023_rODFQpL0U0W0AS0nmfecSQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 55, "tag": { "agx_AccruedInvestmentIncomeDividendReceivable": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Dividends earned but not yet received by the entity on its investments.", "label": "Accrued Investment Income, Dividend Receivable", "terseLabel": "Accrued dividends" } } }, "localname": "AccruedInvestmentIncomeDividendReceivable", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "agx_AccruedLeaseLiabilitiesCurrent": { "auth_ref": [], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for lease liabilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Lease Liabilities, Current", "terseLabel": "Lease liabilities" } } }, "localname": "AccruedLeaseLiabilitiesCurrent", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "agx_AccruedProjectCostsCurrent": { "auth_ref": [], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for projects costs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Project Costs, Current", "terseLabel": "Accrued project costs" } } }, "localname": "AccruedProjectCostsCurrent", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "agx_AvailableForSaleSecuritiesPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for available-for-sale securities.", "label": "Available-For-Sale Securities [Policy Text Block]", "terseLabel": "Available-For-Sale Securities" } } }, "localname": "AvailableForSaleSecuritiesPolicyTextBlock", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "agx_CashDividendAndTreasuryStockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "CASH DIVIDENDS AND TREASURY STOCK" } } }, "localname": "CashDividendAndTreasuryStockAbstract", "nsuri": "http://www.arganinc.com/20230731", "xbrltype": "stringItemType" }, "agx_CashDividendAndTreasuryStockTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for cash dividend and treasury stock.", "label": "Cash Dividend and Treasury Stock [Text Block]", "terseLabel": "CASH DIVIDENDS AND TREASURY STOCK" } } }, "localname": "CashDividendAndTreasuryStockTextBlock", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock" ], "xbrltype": "textBlockItemType" }, "agx_CashInvestmentCommitments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash investment commitments.", "label": "Cash Investment Commitments", "terseLabel": "Remaining cash investment commitments" } } }, "localname": "CashInvestmentCommitments", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "agx_CommitmentDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "COMMITMENTS" } } }, "localname": "CommitmentDisclosureAbstract", "nsuri": "http://www.arganinc.com/20230731", "xbrltype": "stringItemType" }, "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) maturing in first and second fiscal year following current fiscal year.", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after Year One Through Two", "terseLabel": "Gross Unrealized Losses, Due in one to two years" } } }, "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) maturing in second and third fiscal year following current fiscal year.", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after Year Two Through Three", "terseLabel": "Gross Unrealized Losses, Due in two to three years" } } }, "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to 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).", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One to Two", "terseLabel": "Amortized cost, Due in one to two years" } } }, "localname": "DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second fiscal year though 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).", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year Two to Three", "terseLabel": "Amortized Cost, Due in two to three years" } } }, "localname": "DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to 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).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One to Two", "terseLabel": "Fair value, Due in one to two years" } } }, "localname": "DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second fiscal year through 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).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year Two to Three", "terseLabel": "Fair Value, Due in two to three years" } } }, "localname": "DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "agx_DocumentAndEntityInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Document and entity information.", "label": "Document And Entity Information" } } }, "localname": "DocumentAndEntityInformationAbstract", "nsuri": "http://www.arganinc.com/20230731", "xbrltype": "stringItemType" }, "agx_DomesticNetOperatingLossCarryback": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of domestic net operating loss carryback.", "label": "Domestic Net Operating Loss Carryback", "terseLabel": "Domestic net operating loss carryback" } } }, "localname": "DomesticNetOperatingLossCarryback", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails" ], "xbrltype": "monetaryItemType" }, "agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to earnings per share performance-based restricted stock units.", "label": "Earnings Per Share Performance Based Restricted Stock Units [Member]", "terseLabel": "Earnings per share performance-based restricted stock units" } } }, "localname": "EarningsPerSharePerformanceBasedRestrictedStockUnitsMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount": { "auth_ref": [], "calculation": { "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": { "order": 5.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for excess executive compensation.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Excess Executive Compensation, Amount", "terseLabel": "Excess executive compensation" } } }, "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "agx_FraudulentlyInducedPaymentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to fraudulently induced outbound wire transfer to third party of complex criminal scheme.", "label": "Fraudulently Induced Payment" } } }, "localname": "FraudulentlyInducedPaymentMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_GemmaPowerSystemLlcMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The Gemma Power System, LLC.", "label": "GPS." } } }, "localname": "GemmaPowerSystemLlcMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_GemmaPowerSystemsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Gemma power systems.", "label": "GPS" } } }, "localname": "GemmaPowerSystemsMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "domainItemType" }, "agx_IncentiveStockOptionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Incentive Stock Options.", "label": "ISOs/NSOs" } } }, "localname": "IncentiveStockOptionsMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_IncomeTaxRefundsAndPrepaidIncomeTaxes": { "auth_ref": [], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of income tax refunds and prepaid income taxes .", "label": "Income Tax Refunds And Prepaid Income Taxes", "terseLabel": "Income tax refunds and prepaid income taxes", "verboseLabel": "Income tax refunds receivable and prepaid income taxes" } } }, "localname": "IncomeTaxRefundsAndPrepaidIncomeTaxes", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails", "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" ], "xbrltype": "monetaryItemType" }, "agx_IncreaseInLossCarrybackPeriodForCertainLosses": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the increase in loss carryback period for certain losses.", "label": "Increase In Loss Carryback Period For Certain Losses", "terseLabel": "Increase in loss carryback period for certain losses" } } }, "localname": "IncreaseInLossCarrybackPeriodForCertainLosses", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails" ], "xbrltype": "durationItemType" }, "agx_IndustrialConstructionServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to industrial construction services.", "label": "Industrial Construction Services [Member]", "terseLabel": "Industrial Construction Services" } } }, "localname": "IndustrialConstructionServicesMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "agx_InvestmentMaturityPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the maturity period of investments.", "label": "Investment Maturity Period", "terseLabel": "Maturity period" } } }, "localname": "InvestmentMaturityPeriod", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "xbrltype": "durationItemType" }, "agx_InvestmentsTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Term of investment, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Investments, Term", "terseLabel": "Expected life of investment" } } }, "localname": "InvestmentsTerm", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "xbrltype": "durationItemType" }, "agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after 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).", "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Four", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "agx_LettersOfCreditExpireOnMay312024Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to letters of credit expire on May 31, 2024.", "label": "Expires on May 31, 2024" } } }, "localname": "LettersOfCreditExpireOnMay312024Member", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The contingent increase above the maximum borrowing capacity under the credit facility, if any one or more of the existing banks or new banks agree to provide such increased commitment amount.", "label": "Line of Credit Facility Contingent Increase, Additional Borrowing Capacity", "terseLabel": "Additional commitment amount" } } }, "localname": "LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "monetaryItemType" }, "agx_MajorCustomerOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Major customer one.", "label": "Major Customer One [Member]" } } }, "localname": "MajorCustomerOneMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "agx_MajorCustomerThreeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Major customer three.", "label": "Major Customer Three [Member]" } } }, "localname": "MajorCustomerThreeMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "agx_MajorCustomerTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Major customer two.", "label": "Major Customer Two [Member]" } } }, "localname": "MajorCustomerTwoMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "agx_NPricedChangeOrdersIncludedInTransactionPrices": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Amounts of unpriced change orders included in transaction prices.", "label": "N Priced Change Orders Included In Transaction Prices", "terseLabel": "Amounts of unpriced change orders included in transaction prices" } } }, "localname": "NPricedChangeOrdersIncludedInTransactionPrices", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails" ], "xbrltype": "decimalItemType" }, "agx_NumberOfMajorCustomers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of major customers.", "label": "Number Of Major Customers", "terseLabel": "Number of customers" } } }, "localname": "NumberOfMajorCustomers", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "integerItemType" }, "agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of shares issuable under restricted stock units awarded during the period.", "label": "The Number Of Shares Issuable Under Restricted Stock Units Awarded During The Period", "terseLabel": "The number of shares issuable under restricted stock units awarded during the period" } } }, "localname": "NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "sharesItemType" }, "agx_OperatingLeaseRightOfUseAssetAndOtherAssets": { "auth_ref": [], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of lessee's right to use underlying asset under operating lease, and asset classified as other.", "label": "Operating Lease Right Of Use Asset, and Other Assets", "terseLabel": "Right-of-use and other assets" } } }, "localname": "OperatingLeaseRightOfUseAssetAndOtherAssets", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of the maximum shares for the target number of shares awarded.", "label": "Percentage Of Maximum shares For The Target Number Of Shares Awarded", "terseLabel": "Percentage of the maximum shares for the target number of shares awarded" } } }, "localname": "PercentageOfMaximumSharesForTargetNumberOfSharesAwarded", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "agx_PercentageReductionInAggregateFairValueOfStockOption": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the percentage reduction in the aggregate fair value of stock option", "label": "Percentage Reduction In The Aggregate Fair Value Of Stock Option" } } }, "localname": "PercentageReductionInAggregateFairValueOfStockOption", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "agx_PerformanceBasedRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to performance-based restricted stock units.", "label": "Performance-based restricted stock units" } } }, "localname": "PerformanceBasedRestrictedStockUnitsMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_Plan2020Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the 2020 plan.", "label": "2020 Plan" } } }, "localname": "Plan2020Member", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_PowerIndustryServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Power industry services.", "label": "Power Industry Services [Member]" } } }, "localname": "PowerIndustryServicesMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "agx_RemainingBondedPerformanceObligations": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to remaining bonded performance obligations.", "label": "Remaining Bonded Performance Obligations", "terseLabel": "Unsatisfied bonded performance obligations" } } }, "localname": "RemainingBondedPerformanceObligations", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "monetaryItemType" }, "agx_RenewablePerformanceBasedRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Renewable Performance Based Restricted Stock Units.", "label": "Renewable Performance-Based Restricted Stock Units" } } }, "localname": "RenewablePerformanceBasedRestrictedStockUnitsMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_RetainedAmountUnderConstructionContracts": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amounts retained by project owners under construction contracts.", "label": "Retained Amount Under Construction Contracts", "terseLabel": "Retained amounts by project owners" } } }, "localname": "RetainedAmountUnderConstructionContracts", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails" ], "xbrltype": "monetaryItemType" }, "agx_RobertsCompanyIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The Roberts Company Inc.", "label": "TRC." } } }, "localname": "RobertsCompanyIncMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of amortizable finite-lived intangible assets, in total and by major class, including the gross carrying amount and accumulated amortization, and indefinite-lived intangible assets not subject to amortization, excluding goodwill, in total and by major class. 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.", "label": "Schedule Of Finite-Lived and Indefinite-Lived Intangible Assets by Major Class [Table Text Block]", "terseLabel": "Schedule of company's purchased intangible assets, other than goodwill" } } }, "localname": "ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date of equity instruments other than options issued during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Issued in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Issued, Fair value (Per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award equity instruments stock option exercisable weighted average grant date fair value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Exercisable Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Exercisable" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "perShareItemType" }, "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award equity instruments stock option outstanding weighted average grant date fair value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Outstanding Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Outstanding" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "perShareItemType" }, "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The period of monthly closing prices used for the estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate Period For Monthly Closing Prices", "terseLabel": "Period used for calculations" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "agx_SharesRepurchasedSettlementStockOptionExercisesAndOtherStockShareBasedAwards": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of repurchased shares used to settle stock option exercises and other stock share based awards.", "label": "Shares Repurchased, Settlement Stock Option Exercises and Other Stock Share Based Awards", "terseLabel": "Repurchased shares to settle stock option exercises and other share-based awards" } } }, "localname": "SharesRepurchasedSettlementStockOptionExercisesAndOtherStockShareBasedAwards", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails" ], "xbrltype": "sharesItemType" }, "agx_ShortTermRentalAgreementsExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount short-term rental agreements expenses.", "label": "Short Term Rental Agreements Expense", "terseLabel": "Short-term rentals expense" } } }, "localname": "ShortTermRentalAgreementsExpense", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "monetaryItemType" }, "agx_StockPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "n/a", "label": "Stock Plan [Member]", "terseLabel": "Stock Plan" } } }, "localname": "StockPlanMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_SupplementalFinancialStatementInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Na", "label": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION" } } }, "localname": "SupplementalFinancialStatementInformationAbstract", "nsuri": "http://www.arganinc.com/20230731", "xbrltype": "stringItemType" }, "agx_TaxCredits": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax credits.", "label": "Tax credits", "terseLabel": "Tax credits" } } }, "localname": "TaxCredits", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "agx_TelecommunicationsInfrastructureServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Telecommunications infrastructure services.", "label": "Telecommunications Infrastructure Services [Member]" } } }, "localname": "TelecommunicationsInfrastructureServicesMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "agx_TimeBasedRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Time based Restricted Stock Units.", "label": "Time Based Restricted Stock Units" } } }, "localname": "TimeBasedRestrictedStockUnitsMember", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "agx_TradeAndOtherReceivablesDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include trade accounts receivables. Includes disclosure for allowance for credit losses.", "label": "Trade And Other Receivables Disclosure Text Block", "terseLabel": "ACCOUNTS RECEIVABLE" } } }, "localname": "TradeAndOtherReceivablesDisclosureTextBlock", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivable" ], "xbrltype": "textBlockItemType" }, "agx_TreasuryStockPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for treasury stock.", "label": "Treasury Stock [Policy Text Block]", "terseLabel": "Treasury Stock" } } }, "localname": "TreasuryStockPolicyTextBlock", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of treasury stock used to settle stock option exercises and other stock share based awards.", "label": "Treasury Stock, Settlement of Stock Option Exercises and Other Share Based Awards", "terseLabel": "Treasury stock to settle stock option exercises and other share-based awards" } } }, "localname": "TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails" ], "xbrltype": "sharesItemType" }, "agx_UnrecognizedTaxLossBenefit": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of unrecognized tax loss benefit.", "label": "Unrecognized tax loss benefit", "terseLabel": "Unrecognized tax loss benefit" } } }, "localname": "UnrecognizedTaxLossBenefit", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits\n resulting from research and development tax credit.", "label": "UnrecognizedTaxBenefitsIncreaseResultingFromResearchAndDevelopmentTaxCredit", "terseLabel": "Development tax credit" } } }, "localname": "Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails" ], "xbrltype": "monetaryItemType" }, "agx_UnusualOrInfrequentItemUnrecoverableFundsAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss for an event or transaction that is unusual in nature or infrequent in occurrence, or both.", "label": "Unusual Or Infrequent Item, Unrecoverable Funds Amount", "terseLabel": "Unrecoverable funds amount" } } }, "localname": "UnusualOrInfrequentItemUnrecoverableFundsAmount", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "agx_WarrantyPeriodForConstructionContracts": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to warranty provisions covering defects in equipment, materials etc.. after the completion of construction.", "label": "Warranty Period for Construction Contracts", "terseLabel": "Warranty period" } } }, "localname": "WarrantyPeriodForConstructionContracts", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails" ], "xbrltype": "stringItemType" }, "agx_WeightedAverageRateDepositCertificatesOfDeposit": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average interest rate for certificates of deposit liabilities in banking offices.", "label": "Weighted Average Rate Deposit Certificates Of Deposit", "terseLabel": "Weighted average annual interest rates of CDs (as a percent)" } } }, "localname": "WeightedAverageRateDepositCertificatesOfDeposit", "nsuri": "http://www.arganinc.com/20230731", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "xbrltype": "percentItemType" }, "country_GB": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "United Kingdom" } } }, "localname": "GB", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "xbrltype": "domainItemType" }, "country_IE": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Republic of Ireland" } } }, "localname": "IE", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "United States" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r686" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r719" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "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'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "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.", "label": "Entity Filer Category", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r758" ], "lang": { "en-us": { "role": { "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).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r683" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r685" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "ecd_Additional402vDisclosureTextBlock": { "auth_ref": [ "r720" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "localname": "Additional402vDisclosureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToCompAmt": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "localname": "AdjToCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AdjToCompAxis": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "localname": "AdjToCompAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "localname": "AdjToNonPeoNeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToPeoCompFnTextBlock": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "localname": "AdjToPeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AggtErrCompAmt": { "auth_ref": [ "r691", "r702", "r712", "r737" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "localname": "AggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "auth_ref": [ "r694", "r705", "r715", "r740" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "localname": "AggtErrCompNotYetDeterminedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AllAdjToCompMember": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "localname": "AllAdjToCompMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllExecutiveCategoriesMember": { "auth_ref": [ "r733" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "localname": "AllExecutiveCategoriesMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllIndividualsMember": { "auth_ref": [ "r698", "r706", "r716", "r733", "r741", "r745", "r753" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "localname": "AllIndividualsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "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" ], "xbrltype": "domainItemType" }, "ecd_AllTradingArrangementsMember": { "auth_ref": [ "r751" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "localname": "AllTradingArrangementsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "ecd_AwardExrcPrice": { "auth_ref": [ "r748" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "localname": "AwardExrcPrice", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "perShareItemType" }, "ecd_AwardGrantDateFairValue": { "auth_ref": [ "r749" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "localname": "AwardGrantDateFairValue", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AwardTmgDiscLineItems": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "localname": "AwardTmgDiscLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMethodTextBlock": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "localname": "AwardTmgMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMnpiCnsdrdFlag": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "localname": "AwardTmgMnpiCnsdrdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardTmgMnpiDiscTextBlock": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "localname": "AwardTmgMnpiDiscTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgPredtrmndFlag": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "localname": "AwardTmgPredtrmndFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardUndrlygSecuritiesAmt": { "auth_ref": [ "r747" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "localname": "AwardUndrlygSecuritiesAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_AwardsCloseToMnpiDiscIndName": { "auth_ref": [ "r746" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "localname": "AwardsCloseToMnpiDiscIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTable": { "auth_ref": [ "r745" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "localname": "AwardsCloseToMnpiDiscTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "auth_ref": [ "r745" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "localname": "AwardsCloseToMnpiDiscTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ChangedPeerGroupFnTextBlock": { "auth_ref": [ "r724" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "localname": "ChangedPeerGroupFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CoSelectedMeasureAmt": { "auth_ref": [ "r725" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "localname": "CoSelectedMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_CoSelectedMeasureName": { "auth_ref": [ "r725" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "localname": "CoSelectedMeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "auth_ref": [ "r730" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "auth_ref": [ "r729" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "localname": "CompActuallyPaidVsNetIncomeTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "auth_ref": [ "r731" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "auth_ref": [ "r728" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "auth_ref": [ "r727" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompAnalysisTextBlock": { "auth_ref": [ "r691", "r702", "r712", "r737" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "localname": "ErrCompAnalysisTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompRecoveryTable": { "auth_ref": [ "r688", "r699", "r709", "r734" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "localname": "ErrCompRecoveryTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ExecutiveCategoryAxis": { "auth_ref": [ "r733" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "localname": "ExecutiveCategoryAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "auth_ref": [ "r695", "r706", "r716", "r741" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "auth_ref": [ "r695", "r706", "r716", "r741" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "auth_ref": [ "r695", "r706", "r716", "r741" ], "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" } } }, "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "auth_ref": [ "r695", "r706", "r716", "r741" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ForgoneRecoveryIndName": { "auth_ref": [ "r695", "r706", "r716", "r741" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "ForgoneRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_IndividualAxis": { "auth_ref": [ "r698", "r706", "r716", "r733", "r741", "r745", "r753" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "localname": "IndividualAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "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" ], "xbrltype": "stringItemType" }, "ecd_InsiderTradingArrLineItems": { "auth_ref": [ "r751" ], "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "localname": "InsiderTradingArrLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTradingPoliciesProcLineItems": { "auth_ref": [ "r687", "r757" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "localname": "InsiderTradingPoliciesProcLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "auth_ref": [ "r687", "r757" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "localname": "InsiderTrdPoliciesProcAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "booleanItemType" }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "auth_ref": [ "r687", "r757" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "textBlockItemType" }, "ecd_MeasureAxis": { "auth_ref": [ "r725" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "localname": "MeasureAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_MeasureName": { "auth_ref": [ "r725" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "localname": "MeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_MnpiDiscTimedForCompValFlag": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "localname": "MnpiDiscTimedForCompValFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_MtrlTermsOfTrdArrTextBlock": { "auth_ref": [ "r752" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "localname": "MtrlTermsOfTrdArrTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "textBlockItemType" }, "ecd_NamedExecutiveOfficersFnTextBlock": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "localname": "NamedExecutiveOfficersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonGaapMeasureDescriptionTextBlock": { "auth_ref": [ "r725" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "localname": "NonGaapMeasureDescriptionTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonNeosMember": { "auth_ref": [ "r695", "r706", "r716", "r733", "r741" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "localname": "NonNeosMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "auth_ref": [ "r723" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoAvgTotalCompAmt": { "auth_ref": [ "r722" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "localname": "NonPeoNeoAvgTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoMember": { "auth_ref": [ "r733" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "localname": "NonPeoNeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonRule10b51ArrAdoptedFlag": { "auth_ref": [ "r752" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "localname": "NonRule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_NonRule10b51ArrTrmntdFlag": { "auth_ref": [ "r752" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "localname": "NonRule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_OtherPerfMeasureAmt": { "auth_ref": [ "r725" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "localname": "OtherPerfMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_OutstandingAggtErrCompAmt": { "auth_ref": [ "r693", "r704", "r714", "r739" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "localname": "OutstandingAggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryCompAmt": { "auth_ref": [ "r696", "r707", "r717", "r742" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "localname": "OutstandingRecoveryCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryIndName": { "auth_ref": [ "r696", "r707", "r717", "r742" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "OutstandingRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PayVsPerformanceDisclosureLineItems": { "auth_ref": [ "r721" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "localname": "PayVsPerformanceDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_PeerGroupIssuersFnTextBlock": { "auth_ref": [ "r724" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "localname": "PeerGroupIssuersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_PeerGroupTotalShareholderRtnAmt": { "auth_ref": [ "r724" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "localname": "PeerGroupTotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoActuallyPaidCompAmt": { "auth_ref": [ "r723" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "localname": "PeoActuallyPaidCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoMember": { "auth_ref": [ "r733" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "localname": "PeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_PeoName": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "localname": "PeoName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_PeoTotalCompAmt": { "auth_ref": [ "r722" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "localname": "PeoTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PvpTable": { "auth_ref": [ "r721" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "localname": "PvpTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PvpTableTextBlock": { "auth_ref": [ "r721" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "localname": "PvpTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "auth_ref": [ "r688", "r699", "r709", "r734" ], "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "localname": "RecoveryOfErrCompDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_RestatementDateAxis": { "auth_ref": [ "r689", "r700", "r710", "r735" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "localname": "RestatementDateAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_RestatementDeterminationDate": { "auth_ref": [ "r690", "r701", "r711", "r736" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "localname": "RestatementDeterminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "dateItemType" }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "auth_ref": [ "r697", "r708", "r718", "r743" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "localname": "RestatementDoesNotRequireRecoveryTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_Rule10b51ArrAdoptedFlag": { "auth_ref": [ "r752" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "localname": "Rule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_Rule10b51ArrTrmntdFlag": { "auth_ref": [ "r752" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "localname": "Rule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "auth_ref": [ "r692", "r703", "r713", "r738" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "localname": "StkPrcOrTsrEstimationMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TabularListTableTextBlock": { "auth_ref": [ "r732" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "localname": "TabularListTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TotalShareholderRtnAmt": { "auth_ref": [ "r724" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "localname": "TotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "auth_ref": [ "r731" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TradingArrAxis": { "auth_ref": [ "r751" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "localname": "TradingArrAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TradingArrByIndTable": { "auth_ref": [ "r753" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "localname": "TradingArrByIndTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrAdoptionDate": { "auth_ref": [ "r754" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "localname": "TrdArrAdoptionDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrDuration": { "auth_ref": [ "r755" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "localname": "TrdArrDuration", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "durationItemType" }, "ecd_TrdArrIndName": { "auth_ref": [ "r753" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "localname": "TrdArrIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrIndTitle": { "auth_ref": [ "r753" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "localname": "TrdArrIndTitle", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrSecuritiesAggAvailAmt": { "auth_ref": [ "r756" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "localname": "TrdArrSecuritiesAggAvailAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "sharesItemType" }, "ecd_TrdArrTerminationDate": { "auth_ref": [ "r754" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "localname": "TrdArrTerminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_UndrlygSecurityMktPriceChngPct": { "auth_ref": [ "r750" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "localname": "UndrlygSecurityMktPriceChngPct", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "pureItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r159", "r196", "r207", "r208", "r209", "r210", "r211", "r213", "r217", "r306", "r307", "r308", "r309", "r311", "r312", "r314", "r316", "r317", "r808", "r809" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r159", "r196", "r207", "r208", "r209", "r210", "r211", "r213", "r217", "r306", "r307", "r308", "r309", "r311", "r312", "r314", "r316", "r317", "r808", "r809" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "srt_ExecutiveOfficerMember": { "auth_ref": [ "r794" ], "lang": { "en-us": { "role": { "label": "Senior executives" } } }, "localname": "ExecutiveOfficerMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r223", "r653", "r811", "r856", "r857" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r298", "r299", "r300", "r301", "r358", "r495", "r541", "r562", "r563", "r613", "r615", "r617", "r618", "r620", "r635", "r636", "r645", "r650", "r663", "r671", "r810", "r849", "r850", "r851", "r852", "r853", "r854" ], "lang": { "en-us": { "role": { "label": "Maximum", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r298", "r299", "r300", "r301", "r358", "r495", "r541", "r562", "r563", "r613", "r615", "r617", "r618", "r620", "r635", "r636", "r645", "r650", "r663", "r671", "r810", "r849", "r850", "r851", "r852", "r853", "r854" ], "lang": { "en-us": { "role": { "label": "Minimum", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r223", "r653", "r811", "r856", "r857" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r219", "r497", "r535", "r536", "r537", "r538", "r539", "r540", "r637", "r651", "r670", "r764", "r806", "r807", "r811", "r856" ], "lang": { "en-us": { "role": { "label": "Products and Services [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r219", "r497", "r535", "r536", "r537", "r538", "r539", "r540", "r637", "r651", "r670", "r764", "r806", "r807", "r811", "r856" ], "lang": { "en-us": { "role": { "label": "Products and Services [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r298", "r299", "r300", "r301", "r351", "r358", "r388", "r389", "r390", "r471", "r495", "r541", "r562", "r563", "r613", "r615", "r617", "r618", "r620", "r635", "r636", "r645", "r650", "r663", "r671", "r674", "r805", "r810", "r850", "r851", "r852", "r853", "r854" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r298", "r299", "r300", "r301", "r351", "r358", "r388", "r389", "r390", "r471", "r495", "r541", "r562", "r563", "r613", "r615", "r617", "r618", "r620", "r635", "r636", "r645", "r650", "r663", "r671", "r674", "r805", "r810", "r850", "r851", "r852", "r853", "r854" ], "lang": { "en-us": { "role": { "label": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r173", "r359", "r759", "r790" ], "lang": { "en-us": { "role": { "label": "Scenario, Unspecified [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r221", "r222", "r559", "r560", "r561", "r614", "r616", "r619", "r621", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r638", "r652", "r674", "r811", "r856" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r221", "r222", "r559", "r560", "r561", "r614", "r616", "r619", "r621", "r624", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r638", "r652", "r674", "r811", "r856" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "xbrltype": "stringItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r173", "r359", "r759", "r760", "r790" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r794", "r846" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Title of Individual [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r17", "r669" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r625" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r224", "r225" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Accounts Receivable, Net, Current", "verboseLabel": "Accounts receivable, net" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedEmployeeBenefitsCurrent": { "auth_ref": [ "r20" ], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Employee Benefits, Current", "terseLabel": "Accrued compensation" } } }, "localname": "AccruedEmployeeBenefitsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r20" ], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses", "totalLabel": "Total accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r26", "r27", "r82", "r134", "r512", "r546", "r547" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r2", "r9", "r27", "r427", "r430", "r464", "r542", "r543", "r779", "r780", "r781", "r787", "r788", "r789" ], "lang": { "en-us": { "role": { "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.", "label": "Accumulated Other Comprehensive Loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalFinancialInformationDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement.", "label": "Additional Financial Information Disclosure [Text Block]", "terseLabel": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION" } } }, "localname": "AdditionalFinancialInformationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r77" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r396", "r397", "r398", "r557", "r787", "r788", "r789", "r841", "r861" ], "lang": { "en-us": { "role": { "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.", "label": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r56", "r57", "r362" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "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 income to net cash used in operating activities" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForNotesAndLoansReceivableCurrent": { "auth_ref": [ "r135", "r226", "r265" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on financing receivable, classified as current.", "label": "Financing Receivable, Allowance for Credit Loss, Current", "terseLabel": "Allowance for uncollectible accounts" } } }, "localname": "AllowanceForNotesAndLoansReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r7", "r45", "r49" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangibles", "verboseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r185" ], "lang": { "en-us": { "role": { "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.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "verboseLabel": "Antidilutive common stock" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganAdditionalInformationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r110", "r133", "r157", "r194", "r209", "r215", "r262", "r306", "r307", "r309", "r310", "r311", "r313", "r315", "r317", "r318", "r420", "r424", "r443", "r508", "r584", "r669", "r682", "r808", "r809", "r847" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Assets", "terseLabel": "Total assets", "totalLabel": "TOTAL ASSETS" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r128", "r138", "r157", "r262", "r306", "r307", "r309", "r310", "r311", "r313", "r315", "r317", "r318", "r420", "r424", "r443", "r669", "r808", "r809", "r847" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Assets, Current", "terseLabel": "Current assets", "totalLabel": "TOTAL CURRENT ASSETS" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "CURRENT ASSETS" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r66" ], "calculation": { "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "totalLabel": "Totals" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsTotalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Total assets, when it serves as a benchmark in a concentration of risk calculation, representing the sum of all reported assets as of the balance sheet date.", "label": "Contract Asset" } } }, "localname": "AssetsTotalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [ "r233" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax", "terseLabel": "Gross Unrealized Losses" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "auth_ref": [ "r229", "r271", "r507" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Amortized Cost", "terseLabel": "Amortized Cost" } } }, "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r230", "r271", "r501", "r796" ], "calculation": { "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_Investments", "weight": 1.0 }, "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails": { "order": 1.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale", "terseLabel": "Available-for-sale-securities", "verboseLabel": "Fair Value" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails", "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "en-US Debt Securities, Available-for-Sale, Fair Value to Amortized Cost, after Allowance for Credit Loss [Abstract]", "terseLabel": "Available-for-sale securities" } } }, "localname": "AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation and Significant Accounting Policies" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r418", "r661", "r662" ], "lang": { "en-us": { "role": { "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.", "label": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails", "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r58", "r59", "r418", "r661", "r662" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails", "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CASH, CASH EQUIVALENTS AND INVESTMENTS" } } }, "localname": "CashAndCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r32", "r130", "r639" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails": { "order": 2.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion 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.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Cash and Cash Equivalents [Line Items]", "verboseLabel": "Cash and Cash Equivalents" } } }, "localname": "CashAndCashEquivalentsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock": { "auth_ref": [ "r795" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of the components of cash, cash equivalents, and short-term investments. Short-term investments may include current marketable securities.", "label": "Cash, Cash Equivalents, and Short-term Investments [Text Block]", "verboseLabel": "CASH, CASH EQUIVALENTS AND INVESTMENTS" } } }, "localname": "CashCashEquivalentsAndShortTermInvestmentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r32", "r94", "r155" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "CASH AND CASH EQUIVALENTS, END OF PERIOD", "periodStartLabel": "CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r1", "r94" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r22", "r69", "r509", "r571" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Commitments and Contingencies", "terseLabel": "COMMITMENTS AND CONTINGENCIES (see Notes 7 and 8)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "LEGAL CONTINGENCIES" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsDisclosureTextBlock": { "auth_ref": [ "r100" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant arrangements with third parties, which includes operating lease arrangements and arrangements in which the entity has agreed to expend funds to procure goods or services, or has agreed to commit resources to supply goods or services, and operating lease arrangements. Descriptions may include identification of the specific goods and services, period of time covered, minimum quantities and amounts, and cancellation rights.", "label": "Commitments Disclosure [Text Block]", "terseLabel": "COMMITMENTS" } } }, "localname": "CommitmentsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitments" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r23" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "Common stock allocated for issuance", "terseLabel": "Number of shares of common stock reserved for issuance" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "auth_ref": [ "r103" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Cash Paid", "terseLabel": "Regular cash dividend paid per common stock" } } }, "localname": "CommonStockDividendsPerShareCashPaid", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockDividendsPerShareDeclared": { "auth_ref": [ "r103" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "Regular cash dividend declared per common stock", "verboseLabel": "CASH DIVIDENDS PER SHARE" } } }, "localname": "CommonStockDividendsPerShareDeclared", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockDividendsShares": { "auth_ref": [ "r10" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock issued as dividends during the period. Excludes stock splits.", "label": "Common Stock Dividends, Shares", "terseLabel": "Cash dividends deemed paid on shares" } } }, "localname": "CommonStockDividendsShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r672", "r673", "r674", "r676", "r677", "r678", "r679", "r787", "r788", "r841", "r858", "r861" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r76" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r76", "r572" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r76" ], "lang": { "en-us": { "role": { "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.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r10", "r76", "r572", "r590", "r861", "r862" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r76", "r511", "r669" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Common Stock, Value, Issued", "terseLabel": "Common stock, par value $0.15 per share - 30,000,000 shares authorized; 15,828,289 shares issued;13,353,653 and 13,441,590 shares outstanding at July 31, 2023 and January 31, 2023, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r28", "r144", "r146", "r150", "r502", "r521" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "COMPREHENSIVE INCOME" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r35", "r38", "r67", "r68", "r223", "r625" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r35", "r38", "r67", "r68", "r223", "r548", "r625" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r35", "r38", "r67", "r68", "r223", "r625", "r763" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "auth_ref": [ "r97" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.", "label": "Concentration Risk Disclosure [Text Block]", "terseLabel": "CUSTOMER CONCENTRATIONS" } } }, "localname": "ConcentrationRiskDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrations" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [ "r625" ], "lang": { "en-us": { "role": { "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.", "label": "Concentration Risk [Line Items]", "terseLabel": "Customer Concentrations" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r35", "r38", "r67", "r68", "r223" ], "lang": { "en-us": { "role": { "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.", "label": "Concentration Risk, Percentage", "verboseLabel": "Percentage of major customers or segments" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r34", "r35", "r38", "r39", "r67", "r109", "r625" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r35", "r38", "r67", "r68", "r223", "r625" ], "lang": { "en-us": { "role": { "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.", "label": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r64", "r641" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Description of the Business" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "auth_ref": [ "r335", "r337", "r348" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.", "label": "Contract with Customer, Asset, Net, Current", "terseLabel": "Contract assets" } } }, "localname": "ContractWithCustomerAssetNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r335", "r336", "r348" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r349" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r14", "r208", "r209", "r210", "r211", "r217", "r793" ], "lang": { "en-us": { "role": { "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.", "label": "Other [Member]" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r87", "r157", "r262", "r306", "r307", "r309", "r310", "r311", "r313", "r315", "r317", "r318", "r443", "r808" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue", "terseLabel": "Cost of revenues" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "auth_ref": [ "r765", "r786" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current Foreign Tax Expense (Benefit)", "terseLabel": "Foreign income tax expense" } } }, "localname": "CurrentForeignTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r36", "r223" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r61" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "FINANCING ARRANGEMENTS" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r102", "r156", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r327", "r328", "r329", "r331" ], "lang": { "en-us": { "role": { "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.", "label": "Debt Disclosure [Text Block]", "verboseLabel": "FINANCING ARRANGEMENTS" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangements" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Interest rate margin on referred rate", "verboseLabel": "Interest rate margin on referred rate" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails", "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent": { "auth_ref": [ "r235", "r271", "r272" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of accrued interest on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current", "terseLabel": "Interest receivable" } } }, "localname": "DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r272" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes accrued interest, after allowance for credit loss, on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current, Statement of Financial Position [Extensible Enumeration]" } } }, "localname": "DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleTerm": { "auth_ref": [ "r842" ], "lang": { "en-us": { "role": { "documentation": "Period between issuance and maturity of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Debt Securities, Available-for-Sale, Term", "terseLabel": "Available-for-sale securities term" } } }, "localname": "DebtSecuritiesAvailableForSaleTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r400", "r401" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred taxes, net" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r7", "r106", "r121", "r411", "r412", "r786" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "verboseLabel": "Deferred income tax (benefit) expense" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and other tax receivables expected to be realized or consumed within one year or operating cycle, if longer.", "label": "Deferred Income Taxes and Other Tax Receivable, Current", "terseLabel": "Income tax receivable" } } }, "localname": "DeferredIncomeTaxesAndOtherTaxReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r7", "r50" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Depreciation", "terseLabel": "Depreciation" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [ "r347", "r651", "r652", "r653", "r654", "r655", "r656", "r657" ], "lang": { "en-us": { "role": { "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.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenues" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r347", "r651", "r652", "r653", "r654", "r655", "r656", "r657" ], "lang": { "en-us": { "role": { "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.", "label": "Disaggregation of Revenues [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r811" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of consolidated revenues disaggregated by geographical area" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r360", "r365", "r392", "r393", "r395", "r664" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "verboseLabel": "STOCK-BASED COMPENSATION" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "STOCK-BASED COMPENSATION" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DividendsCommonStockCash": { "auth_ref": [ "r103" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.", "label": "Dividends, Common Stock, Cash", "negatedLabel": "Cash dividends" } } }, "localname": "DividendsCommonStockCash", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "NET INCOME PER SHARE", "terseLabel": "NET INCOME PER SHARE" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r151", "r165", "r166", "r167", "r168", "r169", "r175", "r177", "r182", "r183", "r184", "r188", "r434", "r435", "r503", "r522", "r642" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)", "verboseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r151", "r165", "r166", "r167", "r168", "r169", "r177", "r182", "r183", "r184", "r188", "r434", "r435", "r503", "r522", "r642" ], "lang": { "en-us": { "role": { "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.", "label": "Earnings Per Share, Diluted", "verboseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r174", "r185", "r186", "r187" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "verboseLabel": "NET INCOME PER SHARE" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r446" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "verboseLabel": "EFFECTS OF EXCHANGE RATE CHANGES ON CASH" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r158", "r403", "r413" ], "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "verboseLabel": "Federal corporate income tax rate (as percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationGiltiAmount": { "auth_ref": [ "r839" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of reported income tax expense from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to global intangible low-taxed income (GILTI).", "label": "Effective Income Tax Rate Reconciliation, GILTI, Amount", "terseLabel": "GILTI" } } }, "localname": "EffectiveIncomeTaxRateReconciliationGiltiAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r394" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized", "terseLabel": "Unrecognized compensation cost" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r394" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Compensation expense recognize, period" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r10", "r124", "r147", "r148", "r149", "r160", "r161", "r162", "r164", "r170", "r172", "r189", "r263", "r264", "r334", "r396", "r397", "r398", "r407", "r408", "r426", "r427", "r428", "r429", "r430", "r431", "r433", "r448", "r449", "r450", "r451", "r452", "r453", "r464", "r542", "r543", "r544", "r557", "r610" ], "lang": { "en-us": { "role": { "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.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_EquityMethodInvestments": { "auth_ref": [ "r204", "r261", "r775", "r801" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Equity Method Investments", "terseLabel": "Investment account balances" } } }, "localname": "EquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [ "r437", "r438", "r441" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair value of assets and liabilities measured on recurring and nonrecurring basis" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r437", "r438", "r441" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r66", "r108" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of financial instruments recorded at fair value on a recurring basis" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r326", "r352", "r353", "r354", "r355", "r356", "r357", "r438", "r468", "r469", "r470", "r648", "r649", "r658", "r659", "r660" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r437", "r438", "r439", "r440", "r442" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r326", "r352", "r357", "r438", "r468", "r658", "r659", "r660" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Level 1 Inputs" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r326", "r352", "r357", "r438", "r469", "r648", "r649", "r658", "r659", "r660" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Level 2 Inputs" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Fair Value Measurement, Policy [Policy Text Block]", "terseLabel": "Fair Values" } } }, "localname": "FairValueMeasurementPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r326", "r352", "r353", "r354", "r355", "r356", "r357", "r468", "r469", "r470", "r648", "r649", "r658", "r659", "r660" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r436", "r442" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair value, recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancialGuaranteeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An agreement (contract) that requires the guarantor to make payments to the guaranteed party based on another entity's failure to pay specified obligations, such as debt, to a lender.", "label": "Financial guarantee" } } }, "localname": "FinancialGuaranteeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r266", "r267", "r268", "r269", "r270", "r273", "r274", "r275", "r330", "r333", "r432", "r465", "r466", "r467", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r520", "r646", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r797", "r798", "r799", "r800" ], "lang": { "en-us": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Asset, Useful Life", "verboseLabel": "Estimated Useful Life (in years)" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r132", "r291" ], "calculation": { "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r289", "r290", "r291", "r292", "r498", "r499" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r99", "r499" ], "calculation": { "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Amounts" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [ "r498" ], "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r46", "r48" ], "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r99", "r498" ], "calculation": { "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Net Amounts" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r131", "r278", "r500", "r647", "r669", "r803", "r804" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Goodwill", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "INTANGIBLE ASSETS" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r86", "r157", "r194", "r208", "r214", "r217", "r262", "r306", "r307", "r309", "r310", "r311", "r313", "r315", "r317", "r318", "r443", "r644", "r808" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "terseLabel": "Gross profit", "totalLabel": "GROSS PROFIT" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_GuaranteeObligationsByNatureAxis": { "auth_ref": [ "r302", "r303", "r304", "r305" ], "lang": { "en-us": { "role": { "documentation": "Information by nature of guarantee.", "label": "Guarantor Obligations, Nature [Axis]" } } }, "localname": "GuaranteeObligationsByNatureAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GuaranteeObligationsMaximumExposure": { "auth_ref": [ "r303" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum potential amount of future payments (undiscounted) the guarantor could be required to make under the guarantee or each group of similar guarantees before reduction for potential recoveries under recourse or collateralization provisions.", "label": "Guarantor Obligations, Maximum Exposure, Undiscounted", "terseLabel": "Guarantor obligation maximum exposure" } } }, "localname": "GuaranteeObligationsMaximumExposure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GuaranteeObligationsNatureDomain": { "auth_ref": [ "r302", "r303", "r304", "r305" ], "lang": { "en-us": { "role": { "documentation": "Represents a description of the nature of the guarantee or each group of similar guarantees.", "label": "Guarantor Obligations, Nature [Domain]" } } }, "localname": "GuaranteeObligationsNatureDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_HeldtomaturitySecuritiesMember": { "auth_ref": [ "r117" ], "lang": { "en-us": { "role": { "documentation": "Investments in debt securities classified as held-to-maturity.", "label": "Held-to-maturity Securities" } } }, "localname": "HeldtomaturitySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r83", "r115", "r194", "r208", "r214", "r217", "r504", "r517", "r644" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest", "totalLabel": "INCOME BEFORE INCOME TAXES", "verboseLabel": "Income (loss) before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r7", "r84", "r114", "r201", "r261", "r516" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss).", "label": "Income (Loss) from Equity Method Investments", "negatedLabel": "Equity in loss (income) of solar energy investments", "terseLabel": "Loss of investment" } } }, "localname": "IncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r293", "r295", "r595" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r295", "r595" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "INCOME TAXES" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r158", "r399", "r404", "r405", "r406", "r409", "r414", "r416", "r417", "r554" ], "lang": { "en-us": { "role": { "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.", "label": "Income Tax Disclosure [Text Block]", "verboseLabel": "INCOME TAXES" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r118", "r122", "r171", "r172", "r202", "r402", "r410", "r523" ], "calculation": { "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "totalLabel": "Income tax expense", "verboseLabel": "Income tax expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r839" ], "calculation": { "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount 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 foreign income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount", "verboseLabel": "Foreign tax rate differential" } } }, "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r403" ], "calculation": { "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount", "verboseLabel": "Computed expected income tax expense" } } }, "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther": { "auth_ref": [ "r839" ], "calculation": { "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": { "order": 4.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount 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 other nondeductible expenses.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount", "verboseLabel": "Other permanent differences and adjustments, net" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpenseOther", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment": { "auth_ref": [ "r839" ], "calculation": { "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": { "order": 6.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount 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 nondeductible research and development expense.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Amount", "verboseLabel": "Research and development credits adjustment" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r839" ], "calculation": { "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": { "order": 3.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount 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 state and local income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount", "terseLabel": "State income taxes, net of federal tax effect" } } }, "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": { "auth_ref": [ "r839" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount 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 research tax credit.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount", "terseLabel": "Federal research and development tax credits" } } }, "localname": "IncomeTaxReconciliationTaxCreditsResearch", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r33" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for income taxes" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "auth_ref": [ "r6" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.", "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities", "terseLabel": "Accounts payable and accrued expenses" } } }, "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r6" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet": { "auth_ref": [ "r6" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amount due from borrowers for interest payments.", "label": "Increase (Decrease) in Accrued Interest Receivable, Net", "negatedLabel": "Changes in accrued interest on investments" } } }, "localname": "IncreaseDecreaseInAccruedInterestReceivableNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "auth_ref": [ "r783" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Increase (Decrease) in Contract with Customer, Asset", "negatedLabel": "Contract assets" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r496", "r783" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "verboseLabel": "Contract liabilities" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r6" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r178", "r179", "r180", "r184", "r364" ], "calculation": { "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Effects of stock awards" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InformationByCategoryOfDebtSecurityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by category of debt security, either available-for-sale or held-to-maturity.", "label": "Debt Security Category [Axis]" } } }, "localname": "InformationByCategoryOfDebtSecurityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r288" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "INTANGIBLE ASSETS" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r44", "r47" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Including Goodwill) [Abstract]", "terseLabel": "Indefinite-Lived Intangible Assets" } } }, "localname": "IntangibleAssetsNetIncludingGoodwillAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InterestReceivable": { "auth_ref": [ "r776", "r863" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.", "label": "Interest Receivable", "terseLabel": "Accrued interest" } } }, "localname": "InterestReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterials": { "auth_ref": [ "r777" ], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Raw Materials, Gross", "terseLabel": "Raw materials inventory" } } }, "localname": "InventoryRawMaterials", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentTableTextBlock": { "auth_ref": [ "r766", "r767", "r795" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of investment.", "label": "Investment [Table Text Block]", "terseLabel": "Investments" } } }, "localname": "InvestmentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_Investments": { "auth_ref": [ "r506" ], "calculation": { "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments.", "label": "Investments", "terseLabel": "Investments", "totalLabel": "Total investments" } } }, "localname": "Investments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LegalMattersAndContingenciesTextBlock": { "auth_ref": [ "r101" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.", "label": "Legal Matters and Contingencies [Text Block]", "verboseLabel": "LEGAL CONTINGENCIES" } } }, "localname": "LegalMattersAndContingenciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureLegalContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "documentation": "Indicates (true false) whether lessee has option to extend operating lease.", "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "Operating leases, options to extend" } } }, "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "documentation": "Indicates (true false) whether lessee has option to terminate operating lease.", "label": "Lessee, Operating Lease, Existence of Option to Terminate [true false]", "terseLabel": "Operating leases, options to terminate" } } }, "localname": "LesseeOperatingLeaseExistenceOfOptionToTerminate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r845" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Schedule of future minimum lease payments for the operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r463" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r463" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Operating Leases, Future Minimum Payments Due, Next Twelve Months", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r463" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "2028" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r463" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r463" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r845" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "2024 (remainder)" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r463" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "terseLabel": "Less imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LetterOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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).", "label": "Letter of Credit" } } }, "localname": "LetterOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LettersOfCreditOutstandingAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.", "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Letters of credit outstanding amount" } } }, "localname": "LettersOfCreditOutstandingAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r19", "r157", "r262", "r306", "r307", "r309", "r310", "r311", "r313", "r315", "r317", "r318", "r421", "r424", "r425", "r443", "r570", "r643", "r682", "r808", "r847", "r848" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Liabilities", "totalLabel": "TOTAL LIABILITIES" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r81", "r111", "r514", "r669", "r785", "r802", "r843" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r21", "r129", "r157", "r262", "r306", "r307", "r309", "r310", "r311", "r313", "r315", "r317", "r318", "r421", "r424", "r425", "r443", "r669", "r808", "r847", "r848" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Liabilities, Current", "terseLabel": "Current liabilities", "totalLabel": "TOTAL CURRENT LIABILITIES" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "CURRENT LIABILITIES" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesNoncurrent": { "auth_ref": [ "r16", "r71", "r72", "r73", "r74", "r157", "r262", "r306", "r307", "r309", "r310", "r311", "r313", "r315", "r317", "r318", "r421", "r424", "r425", "r443", "r808", "r847", "r848" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer.", "label": "Liabilities, Noncurrent", "terseLabel": "Noncurrent liabilities" } } }, "localname": "LiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityLineItems": { "auth_ref": [ "r784" ], "lang": { "en-us": { "role": { "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.", "label": "Line of Credit Facility [Line Items]", "terseLabel": "Financing Arrangements" } } }, "localname": "LineOfCreditFacilityLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r18" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Borrowing available under financing arrangements" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityTable": { "auth_ref": [ "r18", "r784" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.", "label": "Line of Credit Facility [Table]" } } }, "localname": "LineOfCreditFacilityTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.", "label": "Line of Credit [Member]" } } }, "localname": "LineOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r812" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money market funds" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r154" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r154" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash provided by (used in) investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r94", "r95", "r96" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "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.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by (used in) operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r85", "r96", "r116", "r127", "r143", "r145", "r149", "r157", "r163", "r165", "r166", "r167", "r168", "r171", "r172", "r181", "r194", "r208", "r214", "r217", "r262", "r306", "r307", "r309", "r310", "r311", "r313", "r315", "r317", "r318", "r435", "r443", "r519", "r592", "r608", "r609", "r644", "r680", "r808" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 3.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss)", "netLabel": "Net income", "terseLabel": "Net Income (Loss)", "totalLabel": "NET INCOME" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recently Issued Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncontrollingInterestMember": { "auth_ref": [ "r62", "r334", "r787", "r788", "r789", "r861" ], "lang": { "en-us": { "role": { "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.", "label": "Non-controlling Interests" } } }, "localname": "NoncontrollingInterestMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r792" ], "lang": { "en-us": { "role": { "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.", "label": "Number of Operating Segments", "terseLabel": "Operating segment" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r194", "r208", "r214", "r217", "r644" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "INCOME FROM OPERATIONS", "verboseLabel": "Income (loss) from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r459", "r668" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Operating Lease, Cost", "terseLabel": "Future minimum lease payment" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r844" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease, Expense", "terseLabel": "Operating lease expense", "verboseLabel": "Lease expense" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Lease Liabilities, Payments Due [Abstract]", "terseLabel": "Operating Leases" } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r455" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "totalLabel": "Present value of lease payments" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r455" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "verboseLabel": "Less current portion (included in accrued expenses)" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r456" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.", "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]", "terseLabel": "Less current portion (included in accrued expenses)" } } }, "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r455" ], "calculation": { "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "verboseLabel": "Non-current portion (included in noncurrent liabilities)" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r456" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes noncurrent operating lease liability.", "label": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]", "terseLabel": "Non-current portion (included in noncurrent liabilities)" } } }, "localname": "OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r457", "r460" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating lease payments" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r454" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating lease, right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r462", "r668" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r461", "r668" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted average lease term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r207", "r208", "r209", "r210", "r211", "r217" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]", "terseLabel": "Operating Segments" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r70", "r107", "r549", "r550" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "verboseLabel": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r20" ], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsCurrent": { "auth_ref": [ "r137", "r669" ], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current assets classified as other.", "label": "Other Assets, Current", "terseLabel": "Other current assets", "totalLabel": "Total other current assets" } } }, "localname": "OtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsMiscellaneousCurrent": { "auth_ref": [], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": { "order": 4.0, "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other miscellaneous assets expected to be realized or consumed within one year or operating cycle, if longer.", "label": "Other Assets, Miscellaneous, Current", "terseLabel": "Other" } } }, "localname": "OtherAssetsMiscellaneousCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax": { "auth_ref": [ "r3", "r82", "r444", "r445", "r447" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before 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.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss), before Reclassification and Tax", "terseLabel": "Foreign currency translation gain (loss)" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": { "auth_ref": [ "r139", "r140", "r141" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax", "terseLabel": "Net unrealized losses on available-for-sale securities" } } }, "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r3" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": { "auth_ref": [ "r5", "r82", "r142", "r260" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax", "terseLabel": "Amounts of gains or losses reclassified out of other comprehensive income" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax": { "auth_ref": [ "r139", "r141", "r260" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax and adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment and Tax", "terseLabel": "Net unrealized holding losses for the Company's AFS securities" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncomeExpense": { "auth_ref": [ "r96" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.", "label": "Other Noncash Income (Expense)", "negatedLabel": "Other" } } }, "localname": "OtherNoncashIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r91" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income (loss), net", "verboseLabel": "Other income, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other nonoperating income (expense).", "label": "Other income (expense)" } } }, "localname": "OtherNonoperatingIncomeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain": { "auth_ref": [ "r15" ], "lang": { "en-us": { "role": { "documentation": "Provides the categories of debt securities, available-for-sale or held-to-maturity, on which an entity may recognize other than temporary impairments (OTTI) for which a portion related to credit losses has been recognized in earnings and a portion related to all other factors has been recognized in other comprehensive income.", "label": "Other than Temporary Impairment, Credit Losses Recognized in Earnings, Categories of Investments [Domain]" } } }, "localname": "OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r31" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Common stock repurchases" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r31" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedLabel": "Payments of cash dividends" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r30", "r152", "r227" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Payments to Acquire Debt Securities, Available-for-Sale", "negatedLabel": "Purchases of available-for-sale securities" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": { "auth_ref": [ "r30", "r227" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities.", "label": "Payments to Acquire Held-to-maturity Securities", "negatedLabel": "Purchases of short-term investments" } } }, "localname": "PaymentsToAcquireHeldToMaturitySecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r93" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property, plant and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r813", "r814", "r815", "r816", "r817", "r818", "r819", "r820", "r821", "r822", "r823", "r824", "r825", "r826", "r827", "r828", "r829", "r830", "r831", "r832", "r833", "r834", "r835", "r836", "r837", "r838" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r813", "r814", "r815", "r816", "r817", "r818", "r819", "r820", "r821", "r822", "r823", "r824", "r825", "r826", "r827", "r828", "r829", "r830", "r831", "r832", "r833", "r834", "r835", "r836", "r837", "r838" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r75", "r332" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r75", "r572" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r75", "r332" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r75", "r572", "r590", "r861", "r862" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r75", "r510", "r669" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, par value $0.10 per share - 500,000 shares authorized; no shares issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseCurrent": { "auth_ref": [ "r136", "r276", "r277", "r640" ], "calculation": { "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": { "order": 3.0, "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Prepaid Expense, Current", "terseLabel": "Prepaid expenses" } } }, "localname": "PrepaidExpenseCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r29", "r152", "r227", "r259" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Sale of Debt Securities, Available-for-Sale", "terseLabel": "Proceeds from sale of debt securities, available-for-sale" } } }, "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities": { "auth_ref": [ "r29", "r227" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the sale of securities that had been designated as held-to-maturity. Excludes proceeds from maturities, prepayments and calls by the issuer.", "label": "Proceeds from Sale of Held-to-maturity Securities", "terseLabel": "Maturities of short-term investments" } } }, "localname": "ProceedsFromSaleOfHeldToMaturitySecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r4", "r13" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from the exercise of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductConcentrationRiskMember": { "auth_ref": [ "r37" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues during the period from a specified product are to a specified benchmark, such as total net revenues, segment revenues or product line revenues. May also reflect the percentage contribution the product made to operating results. Risk is materially adverse effects of a loss of sales of a significant product or line of products, which could occur upon loss of rights to sell, distribute or license others; loss of patent or copyright protection; or technological obsolescence.", "label": "Product Concentration Risk [Member]" } } }, "localname": "ProductConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProfessionalFees": { "auth_ref": [ "r680", "r859", "r860" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer.", "label": "Professional Fees", "terseLabel": "Professional fees" } } }, "localname": "ProfessionalFees", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r127", "r143", "r145", "r153", "r157", "r163", "r171", "r172", "r194", "r208", "r214", "r217", "r262", "r306", "r307", "r309", "r310", "r311", "r313", "r315", "r317", "r318", "r419", "r422", "r423", "r435", "r443", "r504", "r518", "r556", "r592", "r608", "r609", "r644", "r666", "r667", "r681", "r781", "r808" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "verboseLabel": "Net income" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAdditions": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of acquisition of long-lived, 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, furniture and fixtures, and computer equipment.", "label": "Property, Plant and Equipment, Additions", "terseLabel": "Property, plant and equipment additions" } } }, "localname": "PropertyPlantAndEquipmentAdditions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r8", "r505", "r515", "r669" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment, Net", "verboseLabel": "Property, plant and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "ACCOUNTS RECEIVABLE" } } }, "localname": "ReceivablesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Restricted Stock Units" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r78", "r103", "r513", "r545", "r547", "r553", "r573", "r669" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated undistributed earnings (deficit).", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r124", "r160", "r161", "r162", "r164", "r170", "r172", "r263", "r264", "r396", "r397", "r398", "r407", "r408", "r426", "r428", "r429", "r431", "r433", "r542", "r544", "r557", "r861" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "REVENUES FROM CONTRACTS WITH CUSTOMERS" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r195", "r196", "r207", "r212", "r213", "r219", "r221", "r223", "r346", "r347", "r497" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "netLabel": "Revenues", "terseLabel": "Totals", "verboseLabel": "REVENUES" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r123", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r350" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "REVENUES FROM CONTRACTS WITH CUSTOMERS" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r119" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation", "terseLabel": "Contract backlog amount" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "REVENUES FROM CONTRACTS WITH CUSTOMERS" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r120" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Performance period" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r120" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r761" ], "lang": { "en-us": { "role": { "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Contract backlog (as percent)" } } }, "localname": "RevenueRemainingPerformanceObligationPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RisksAndUncertaintiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CUSTOMER CONCENTRATIONS" } } }, "localname": "RisksAndUncertaintiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r223", "r762" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of accrued expenses" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.", "label": "Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]", "terseLabel": "Schedule of available-for-sale securities" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.", "label": "Schedule of Cash and Cash Equivalents [Table]", "terseLabel": "Schedule of Cash and Cash Equivalents [Table]" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r791" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of computations of basic and diluted net income per share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r105" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "verboseLabel": "Schedule of actual income tax expense amounts" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r46", "r48", "r498" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems": { "auth_ref": [ "r520" ], "lang": { "en-us": { "role": { "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.", "label": "Net Investment Income [Line Items]" } } }, "localname": "ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable": { "auth_ref": [ "r89", "r90", "r520" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about investment income, including, but not limited to, interest and dividend income and amortization of discount (premium) derived from debt and equity securities. Excludes realized and unrealized gain (loss) on investments.", "label": "Investment Income [Table]" } } }, "localname": "ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock": { "auth_ref": [ "r55" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested shares.", "label": "Schedule of Nonvested Share Activity [Table Text Block]", "terseLabel": "Schedule of changes in the number of non-vested options to purchase shares of common stock" } } }, "localname": "ScheduleOfNonvestedShareActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amounts of other current assets.", "label": "Schedule of Other Current Assets [Table Text Block]", "terseLabel": "Schedule of other current assets" } } }, "localname": "ScheduleOfOtherCurrentAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r40", "r41", "r42", "r43" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r40", "r41", "r42", "r43" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of operating results and certain financial position data of the Company's reportable business segments" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r361", "r363", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "auth_ref": [ "r54" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "verboseLabel": "Schedule of changes in restricted stock units" } } }, "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r11", "r12", "r54" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block]", "verboseLabel": "Schedule of stock option activity under the Company's stock plans" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": { "auth_ref": [ "r840" ], "lang": { "en-us": { "role": { "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg.", "label": "Secured Overnight Financing Rate (SOFR)" } } }, "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r191", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r217", "r223", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r296", "r297", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r647", "r764", "r856" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SEGMENT REPORTING" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r190", "r191", "r192", "r193", "r194", "r206", "r211", "r215", "r216", "r217", "r218", "r219", "r220", "r223" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "verboseLabel": "SEGMENT REPORTING" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReporting" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r88" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r6" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Compensation", "terseLabel": "Stock compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Period to become exercisable" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r382" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r382" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited (Per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r380" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "verboseLabel": "Awarded (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r380" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "verboseLabel": "Awarded, Fair value (Per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r377", "r378" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Outstanding, Ending balance (in shares)", "periodStartLabel": "Outstanding, Beginning balance (in shares)", "terseLabel": "Outstanding (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r377", "r378" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Outstanding, Ending balance Fair value (Per share)", "periodStartLabel": "Outstanding, Beginning balance Fair value (Per share)", "terseLabel": "Outstanding, Fair value (per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted Average Grant Date Fair Value Per Share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r381" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Issued (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [ "r361", "r363", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391" ], "lang": { "en-us": { "role": { "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.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r53" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares of common stock available for award" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r371" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "verboseLabel": "Shares, Exercisable" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r371" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "verboseLabel": "Weighted Average Exercise Price Per Share, Exercisable" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r384" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Intrinsic value of the stock options exercised" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r375" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Shares, Forfeited" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r373" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Shares, Granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r53" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Intrinsic value of outstanding stock options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r369", "r370" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Shares, Outstanding, Ending balance", "periodStartLabel": "Shares, Outstanding, Beginning balance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r369", "r370" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Weighted Average Exercise Price Per Share, Outstanding, Ending balance", "periodStartLabel": "Weighted Average Exercise Price Per Share, Outstanding, Beginning balance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "All Award Types", "terseLabel": "All Award Types" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r374" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price Per Share, Exercised" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r375" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price Per Share, Forfeited" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r373" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price Per Share, Granted" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Price of a single share of a number of saleable stocks of a company.", "label": "Share Price", "terseLabel": "Share price" } } }, "localname": "SharePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r813" ], "lang": { "en-us": { "role": { "documentation": "Percentage of vesting of award under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage", "terseLabel": "Initial vesting percentage" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period", "terseLabel": "Incentive stock option award maximum expiration period" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r53" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Intrinsic value of exercisable stock options" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r53" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted Average Remaining Term (Years), Exercisable" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of non-vested options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Number of Shares", "periodEndLabel": "Shares, Non-vested, Ending balance", "periodStartLabel": "Shares, Non-vested, Beginning balance", "terseLabel": "Shares, Non-vested" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of non-vested options forfeited.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Number of Shares", "negatedLabel": "Shares, Forfeitures" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average grant-date fair value of non-vested options forfeited.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Forfeitures" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average grant-date fair value of non-vested options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Weighted Average Grant Date Fair Value Per Share, Non-vested, Ending balance", "periodStartLabel": "Weighted Average Grant Date Fair Value Per Share, Non-vested, Beginning balance", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Non-vested" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r104" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted Average Remaining Term (Years), Outstanding" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of options vested.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares", "negatedLabel": "Shares, Vested" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average grant-date fair value of options vested.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Vested" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Balances (in shares)", "periodStartLabel": "Balances (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermInvestments": { "auth_ref": [ "r112", "r113", "r778" ], "calculation": { "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_Investments", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.", "label": "Short-Term Investments", "terseLabel": "Short-term investments" } } }, "localname": "ShortTermInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r126", "r191", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r217", "r223", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r294", "r296", "r297", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r647", "r764", "r856" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r10", "r25", "r124", "r147", "r148", "r149", "r160", "r161", "r162", "r164", "r170", "r172", "r189", "r263", "r264", "r334", "r396", "r397", "r398", "r407", "r408", "r426", "r427", "r428", "r429", "r430", "r431", "r433", "r448", "r449", "r450", "r451", "r452", "r453", "r464", "r542", "r543", "r544", "r557", "r610" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r160", "r161", "r162", "r189", "r497", "r551", "r558", "r564", "r565", "r566", "r567", "r568", "r569", "r572", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r585", "r586", "r587", "r588", "r589", "r591", "r593", "r594", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r610", "r675" ], "lang": { "en-us": { "role": { "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.", "label": "Statement [Line Items]", "terseLabel": "Statement" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails", "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r160", "r161", "r162", "r189", "r497", "r551", "r558", "r564", "r565", "r566", "r567", "r568", "r569", "r572", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r585", "r586", "r587", "r588", "r589", "r591", "r593", "r594", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r610", "r675" ], "lang": { "en-us": { "role": { "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.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails", "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockAppreciationRightsSARSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period.", "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)" } } }, "localname": "StockAppreciationRightsSARSMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r10", "r75", "r76", "r103", "r374" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Shares, Exercised", "terseLabel": "Stock option exercises and other share-based award settlements (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r10", "r25", "r103" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Stock option exercises and other share-based award settlements" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedDuringPeriodShares": { "auth_ref": [ "r10", "r75", "r76", "r103", "r552", "r610", "r622" ], "lang": { "en-us": { "role": { "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.", "label": "Stock Repurchased During Period, Shares", "negatedLabel": "Common stock repurchases (in shares)", "verboseLabel": "Common stock repurchases (in shares)" } } }, "localname": "StockRepurchasedDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r10", "r75", "r76", "r103", "r557", "r610", "r622", "r681" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate 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.", "label": "Stock Repurchased During Period, Value", "negatedLabel": "Common stock repurchases", "verboseLabel": "Common stock repurchased" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r76", "r79", "r80", "r98", "r574", "r590", "r611", "r612", "r669", "r682", "r785", "r802", "r843", "r861" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.", "label": "Stockholders' Equity Attributable to Parent", "totalLabel": "TOTAL STOCKHOLDERS' EQUITY" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "STOCKHOLDERS' EQUITY" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "auth_ref": [ "r62", "r63", "r65", "r124", "r125", "r148", "r160", "r161", "r162", "r164", "r170", "r263", "r264", "r334", "r396", "r397", "r398", "r407", "r408", "r426", "r427", "r428", "r429", "r430", "r431", "r433", "r448", "r449", "r453", "r464", "r543", "r544", "r555", "r574", "r590", "r611", "r612", "r623", "r681", "r785", "r802", "r843", "r861" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.", "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest", "periodEndLabel": "Balances", "periodStartLabel": "Balances" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r60" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Name" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r330", "r333", "r432", "r465", "r466", "r467", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r520", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r797", "r798", "r799", "r800" ], "lang": { "en-us": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonMember": { "auth_ref": [ "r51" ], "lang": { "en-us": { "role": { "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock" } } }, "localname": "TreasuryStockCommonMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonShares": { "auth_ref": [ "r51" ], "lang": { "en-us": { "role": { "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Shares", "terseLabel": "Treasury stock, shares" } } }, "localname": "TreasuryStockCommonShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockValue": { "auth_ref": [ "r24", "r51", "r52" ], "calculation": { "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Treasury Stock, Value", "negatedLabel": "Less treasury stock, at cost - 2,474,636 and 2,386,699 shares at July 31, 2023 and January 31, 2023, respectively" } } }, "localname": "TreasuryStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_USTreasuryNotesSecuritiesMember": { "auth_ref": [ "r855" ], "lang": { "en-us": { "role": { "documentation": "This category includes information about negotiable debt securities issued by the United States Department of the Treasury which generally have maturities of one to ten years, are interest bearing, and are backed by the full faith and credit of the United States government.", "label": "US Treasury Notes Securities [Member]", "terseLabel": "US Treasury notes" } } }, "localname": "USTreasuryNotesSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnusualOrInfrequentItemAxis": { "auth_ref": [ "r92" ], "lang": { "en-us": { "role": { "documentation": "Information by an event or transaction that is unusual in nature or infrequent in occurrence, or both.", "label": "Unusual or Infrequent Item, or Both [Axis]" } } }, "localname": "UnusualOrInfrequentItemAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_UnusualOrInfrequentItemDomain": { "auth_ref": [ "r92" ], "lang": { "en-us": { "role": { "documentation": "Event or transaction that is unusual in nature or infrequent in occurrence, or both.", "label": "Unusual or Infrequent Item, or Both [Domain]" } } }, "localname": "UnusualOrInfrequentItemDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnusualOrInfrequentItemInsuranceProceeds": { "auth_ref": [ "r92" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of insurance proceeds for an event or transaction that is unusual in nature or infrequent in occurrence, or both.", "label": "Unusual or Infrequent Item, or Both, Insurance Proceeds", "terseLabel": "Recovered professional fess" } } }, "localname": "UnusualOrInfrequentItemInsuranceProceeds", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnusualOrInfrequentItemLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Unusual or Infrequent Item, or Both [Line Items]", "terseLabel": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION" } } }, "localname": "UnusualOrInfrequentItemLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_UnusualOrInfrequentItemNetGainLoss": { "auth_ref": [ "r92", "r200", "r415", "r782" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of (gain) loss for an event or transaction that is unusual in nature or occurs infrequently, or both.", "label": "Unusual or Infrequent Item, or Both, Net (Gain) Loss", "terseLabel": "Total amount of fraud loss and professional fee recovered" } } }, "localname": "UnusualOrInfrequentItemNetGainLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnusualOrInfrequentItemTable": { "auth_ref": [ "r92" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about the nature and financial statement effect of an event or transaction that is unusual in nature or infrequent in occurrence, or both.", "label": "Unusual or Infrequent Item, or Both [Table]" } } }, "localname": "UnusualOrInfrequentItemTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r176", "r184" ], "calculation": { "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "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.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "totalLabel": "Weighted average number of shares outstanding - diluted", "verboseLabel": "Diluted" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r175", "r184" ], "calculation": { "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "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.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic", "verboseLabel": "Weighted average number of shares outstanding - basic" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareAttributableToStockholdersOfArganDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "xbrltype": "sharesItemType" } }, "unitCount": 6 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org//440/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org//450/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org//470/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org//810/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(4))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(5))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(13)(f))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "8B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-8B", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r123": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "17A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-17A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org//260/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org//280/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29,30)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(3)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(4)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481664/323-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-3A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//350-30/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org//718/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org//740/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482551/740-270-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(i)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iii)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iv)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(1)(h))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(1))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(21))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(10))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(16))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(2)(a))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column G))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column H))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column I))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column J))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column K))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(e)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(f)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(14))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(15))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(16)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(17))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(19))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(9))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(1)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(c)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r645": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "4I", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r658": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "55", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r683": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r684": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r685": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r686": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r687": { "Name": "Form 20-F", "Paragraph": "a", "Publisher": "SEC", "Section": "16", "Subsection": "J", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r688": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r689": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "A", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r691": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "B", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r692": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "C", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r693": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "D", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r694": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "E", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r695": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r696": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "iii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r697": { "Name": "Form 20-F", "Paragraph": "2", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r698": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r699": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org//205/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r701": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r702": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r703": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r704": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r705": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r706": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r707": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r708": { "Name": "Form 40-F", "Paragraph": "b", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r709": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(24))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r711": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r712": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r713": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r714": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r715": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r716": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r717": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r718": { "Name": "Form N-CSR", "Paragraph": "b", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r719": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(25))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r721": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r722": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r723": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r724": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r725": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "vi", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r726": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "3", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r727": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "4", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r728": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r729": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(26))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r730": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r731": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r732": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r733": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r734": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r735": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r736": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r737": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "B", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r738": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r739": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(23))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r740": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r741": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r742": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r743": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r744": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r745": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r746": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r747": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r748": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r749": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r750": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "F", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r751": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r752": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r753": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "A", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r754": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "B", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r755": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "C", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r756": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "D", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r757": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r758": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r759": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r760": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r761": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r762": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r763": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r764": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r765": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r766": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "321", "URI": "https://asc.fasb.org//321/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r767": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "325", "URI": "https://asc.fasb.org//325/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r768": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r769": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r770": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r771": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r772": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r773": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r774": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r775": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(10))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r776": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r777": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r778": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r779": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r780": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r781": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r782": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483614/220-20-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r783": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r784": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r785": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r786": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r787": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r788": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r789": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r790": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r791": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r792": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r793": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r794": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r795": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "https://asc.fasb.org//320/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r796": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r797": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r798": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r799": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r800": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r801": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r802": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r803": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r804": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r805": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r806": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r807": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r808": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r809": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r810": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r811": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r812": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r813": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r814": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r815": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r816": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r817": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r818": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r819": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r820": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r821": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r822": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r823": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r824": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r825": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r826": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r827": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r828": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r829": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r830": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r831": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r832": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r833": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r834": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r835": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r836": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r837": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r838": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r839": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(12))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r840": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480682/815-20-25-6A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r841": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r842": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r843": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r844": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r845": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r846": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r847": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r848": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r849": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r850": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r851": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r852": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r853": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r854": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r855": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r856": { "Name": "Accounting Standards Codification", "Paragraph": "2B", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r857": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r858": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r859": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(k)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r860": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r861": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r862": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r863": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7(a),(b))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.8)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483613/220-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org//275/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 84 0001558370-23-015513-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-23-015513-xbrl.zip M4$L#!!0 ( -"#)E>B 1,7QQ0 -C/ 0 86=X+3(P,C,P-S,Q+GAS M9.U=67/C.))^GXC]#UB_3&_$R&<=;4=73] 27:586=)*^M^S]?/+W7__C+[_\9Z_WV^UL1$S7\-?,\8C!&?6825XL[XDL MW,V&.N2><6[9-KGEEKEBA%RDU[O5UG%+150Q'6(K.OR]")ZT0]K MSR_/**_'QS_O'F_)),[R.R>V!L:970O0KS1AA/;$V)1_F*>6.Z M9F)##?;IY,GS-C=G9R\O+Z?PBCJ68YP:[EK6<_[QZN*$4,_CUJ/OL3N7KP=L M27W; TDX?_C4EFV#@&R&(L@0I%Z#1!UQ\_K(;=.+6\0_3UV^@I;.WY\%+R-2 MVW+^E6$M37QUAJ\?07!QS7OT+U>2^N+Z^OI,OHU(A65D.1#,.%VYSV?P0O8Y MS:VEX,%RA$<=(^;!<'W'X]O\RL.7F08,GW-0K*(2X=M,$5_T5I1NXA)+*AXE M1^&+76)ONV$BEUJ^R9"S5^,IGQ5\DR$5WH87"!'>9$@=:ADBGU:^RM;+O2*6 MXU=9C(29ASK@Q M(C&O3"! DDC1RE)'53[:J(NN0+%:(\!\+B?%E4.#7OQ BYQ_J.*XG]1T? M10\W&\M9NL$3>(:6^@8EOH"12/#'PVQ8//8D-@-+&+8K?,[F(""3MO5IBX*ZIY80@B1-B01?K%8FXB_@SV=)R+-D3F%[.STF/)!7"'U&=!"HE M0:T$JR5!O22J^)>SW>IV&O+!-9@XO\K?,-8%S+!2@#CBPL(AB:*@06W#M^N7 M2]@J+!8^C/!JA2((S9,^1-]U3#"2S(0?PK4M$P=>_%9,ECKE4'050MF@G )/ M&'(2S[@<_.Y/Q@-]/-<'^&L^&0T'V@+^F"_@GWM]O)B3R1W1M=EX./X\[S"M MC.DMM=&>S9\8\RJ!F2V@1/&R*HJWVD@;]W4R_Z+KBPZ]9B.R3\73G>V^U!Z2 M24$EFN^:C;*\]87E,"%@TH*8U )TIBE! MW%D.C#V+VD-P0[@?X.?,&(8I8%1EB0'SJ&7O3;%OU(I"8]Z!%;_8G94'^KP_ M&TX7P\D8E6/Q12>W#_/A6)_/B39&2S ?2K69SO0YJ) F*7LDYHFDF,* G9*8 M,2(Y(S^%O/U7IV^Y^H;#'?_3__"M9VJC($$/ALXS$YX4:^IG@3(UJ4*I*5?G M5[N:@G;C;X'UT/_G8?A5&TF+@DHR''_5YXO PO1(JJT.^Q+LA]!+9X6AKR8$ MS-]]=[UQG6 :V'U7@'V3*I38O]^W$D,8^.//P]N13K3Y7),2K8E&Z5X[U.6278'\\O]P;ZY/Y^&(_F MH'ZR#AH@-K9 -F$3'L@5]92+^J;]NT/V#:=*%&=2V9'<*!W?-\BJP M(8C+&=D MTX6VF]Z8+NQ$0*MD+ 9DFVG0_R P[H/G;ML,[:#"DHP/\P )[*M M#O1 MU-9O=13"@;)F'+G1MX8$71#(/[S RGY=9: M4E!=B8KLS24U521L-7(N.O4H4(]P\T3T+P3SNN-9WC8%8(A\%4IE&O'\6B[5 M1-LU4C^I T#)RDBJM@ZH9KG\*46S^,0\"_I6.[&?+5V2Y7_?),M/?LJTT0W( M9EG_M(N&Z3AO6S?]GU.#$N^K9NL :;_NKS*EM_B]P[SMBD"+-+\*Y8N#Y>X[ MB)LEX6NGW-5P7NW#62W!WN&7BQ\XEKB94,R8P0 /B)9W 'J@[ Z5G M>_+/H5#"\/,^#"/]LS9"YWL!PT&'0:%W@"*B4L MUSGY3 QY>N 6R\CH?@HQ4N<35UJ\5*Q+*E$H6W+L)%]M/:ETG4B-0L7UGPZ- MPMAP8#U;)G-,#/(6G%%XOI56*2\N+"96HG29'Q.2P?#K<*"/!T$LN)CIVOQA M]GM@S3K(\B&3YPL8AVG<@!Z')XKVL,JG4H*4%[@_ !3W,(A@PN^#ZS63DTIG MVPIF?+9"WW;&-BY'%VMOKM]]KX0C)TJ?ZY_ERM-,GTYFZ(!U0+3-:DY=V\IS ME9M4H8 3#.#^"F.S'UUZQBMT5]@LJP-]F$%"N3!JN[O.&Z(?-!:AWO# M1'<^VE6+*3%NOJN\ [56NC4?PP(J)63O]R';WPS>H5,UUU;W,MUJYG6!U?BVW#Q M)4YOS;O-NJV1G3&\ZP0&VX/T)03>B@,&4FZN=0PV>;2M59"%;*P#]9LHT9:] MC$Q%;0'"B!62XH6DF"$I;CKM^E.U2UZV\Z-=VI2=ND8M-[*RI>5M%P+VV':UM< MM6<0'WK[=RZ? \$<[WX!3@O'_P%J+-&%_>/.52\NB9ONP9S1P\9)TGJG*[5W M8!>H0#&A$MEJ^[$[F&HN%6BF*=G VZ7B,WX5KYI1EE6"F7.2-.^.F:2!] G$ M#N,FF[X+,%72*C&LO 6\PZOZ I&\Y:/"M3]9.B5.ZFWBN%M9UM6A5!VE;Q0' MB\K-4=&6H*5\0KV 2K :ILIV$&: M+%&\_P!JQ'!(PA\^ O5[ 7ZAX@G@NB5@D 8^RL.0RU-%.+0^BEC,0 M/+<,>#9OJ@*\._-RU*=<=QE?;*7?_R0R95D]?!A=]5*!*EN\PU9:HR)[Q MWU$1V38)&B=1Z_+C,>GV"3) D(-N6GC3"TOK> H'KEVI2#DGAEI>;9KQ-:Q. MJ0YS3E:Q'EA:1JD 34[-=E V.C];A*&26 E>]=.T'60U-_T617$%9$J8JIRR M[0 ZV$V_=8+R@U2J!#_G"%C=6W^[V/UM-M_5WUVGOC.G\=;P#L%V0[[QL%;? MCM#R3O<.U8;C,O_ 3>5R"DRO6FQQ[<[E'&:P%ARGJEEX 6PP;,G^45ONGKM11\E_P?T]/1U;4<4GN794"Q] M905!CL3?"+5C*N1!\<5OJ4V[(@RYBZJ@W-BK)?RN]<7U]?69I()*W WCN,/C M+.KA"3D[4-.K^.@;#D='\0JV+#?61T^OF[;]#&GVR/Z MR.R&/;:Q[)MT]I>SG:^?AP\RWTB77TB'7D/X2ARZ9F)#C:31@N^S"_FU^)%K MR&H":E%$+C_5CC].H:F0N1JMFLRJTVI$CC_JM;J/C^4(#\\ZY3>=6P3_ZD7E M>OBH=W'9N[IHQH7I\3-43.S190_JNKHH%D-92?FWJ ="V*_W\B_3JRR(J !* MX'UC!*Z#$>+@&2)F5FO/M$O1%H5\^%+,\'VOXS%U_$Q%:0')":%AI M5%7P#F8_RS47LEK3YV'XO]_%@.G/;+VF4_>%\?E60*WBGN&>NI-8 H4$ >-@ M5GO2C-Z8+AZ0;_M/E4; [<=AN7XK>'WM7%N!WJ3N3H3CZ[KRX MZLXD[X^P*]&.V S+(NE*T?OT0+<OV5<<,2 MR-LW9JV>P(O2GAFG*_89CTH,P*VZHQ;_2FV?):([ E9V =J$^R7>4O$"7]_[ MDR&:^!XV:\+\^;TAJL?*44*T@#\-=[WV'2OPJ03X,IQB;PU/+O+F6XNZY8[* M@,1* =ZDZ=MLLKS#S L;6<^ (!XB#W,QP9/=PZJWV\#BVU0$>?8%>_5N;7F% M>ZCX;U!QKC>9"-2+2"O+M*',4/WQK$^$;-CCO< @OR^< MG!H727I\#\IZ18X$I.06A'OJX;4#VZFL(>J4XKTB:(E:?F/FDQ./J9/^.Q%8 M"1[.H7*]%$X!OUN$5O%2Y+W-G@X/(VA@4_@"L]#V@D7@^/^UB5 M^G!6HQF&TT!VB -X#Y*]H:.%%TDEGF3X7=_ 1$2=;%CVS=<N\9;MYR0 G7 MF"T,#SHK *U!KX!T[3I0#]\>0E6#5X_!9[:AT^S14BIPZC(Y:97R3D%FIX=: M)8YQMHC/@LS8T@]V:$\YVU#+S'P<+)X,*Q%_5WCWPC%EYW$W.ALZF3-OB44" M8PN0X,N,$&H5^OZ3T%A.B&9PPG;"\50&=,+V30QUP)&&J5F.T.S\7;N4JJ/, ML-;4?MOI!\./20;] ]PMSB;./=U>7<"\ M]2X[L"I3'^,H.URR7V;]%N"9A F9H1 ^NB6!$U8AZ7_HA9#V#)7/Q/56)9K& M? Y[03[JAT+-BAZCGBZL==5.5R,]QD[&UZG?RFDG_V[W!-MJQ-_'^2HWLG@( M.4FNI^[NBQ/7"H)C[53ZVWR,K_<7$:+'WS\"'8$3PUCBL^-\/;+HHYS*%^XM MFU++U)8PM?W.*+]S_=2$UZ#DL2&6W;<2Q& X0R"3,D^69SW"(&W@8XHS6@?: MW>/2IJY,(C6HIZI0:JQP5TC'1'H+[ANUM.WAF@1K=2^G\85-,@HF]Z-":8?J@G&3KVE[UT+?D"1#.1+]HD(:A5J92O:#(NJT54@",TPH 4SO#6G[PI/]'W. M&58=]5M%XO1?<>I MC]MS',_>XHY'(PZZ=KH?%Z<'R8INT)QRU9[ \_3*P^.)P9+D:&^$T, MN:P29G:BWM8N^,;:GM?U9E:L\%,@\N/NV]06GGB@5R_2?I=/*U$4;NU+7X!4 MV$\UU9%V+;3"20029#NCZY^2;5I[AKM*D6.QX25*K5..D;*(KD:KDPZ)\]$M MZCA"RS=@CUXR4'>',%@M[EG_BTDX$6]\TVP;3Q/)[9ES$(7-HC>8.,-8;^*P MA;MX<1.IO7$S/XC^J:40IQS?3M"MFOBW$')#50,!@!3P(-$;ZW2ZH7\+@3=0 MN?K";MG(#R+H^1.H%"8.9S*2T%; O$PFABN2Z;,;990_BA\:>-(K!T>21U\? MF<.6,*-:X^P$K/1I)E@6PZ>L^ M=V_[W(]9JU$?69BJ8CK'DZ](?J0N?9!@GK%-^"4/<\X\+Z#8/Q3'1)1.D^^2 MM5.9?Q8[Q[X.5NN;)K+;1GA)SS*;?/?[5BBL U5W;%(J\6P,(TA0,Q,8$@*M M*;71EN*&KUL&X1#NHHE7?M"#? +.5T]U0H)VC?P@,_IA98 N32B#6IYJVV9^ M$&&')[4M:J?WOA<=UZQ&?801?=JY =@"#*6#D^\ [=+\,/Y,\F&,E$%./3O& MC@27:@5WLOSZ?U!+ P04 " #0@R97]A[TS_40 OW@ % &%G>"TR M,#(S,#&UL[5U;<^+(%7Y/5?Z#XKPD5<'&>&P/4S.;DD&>H8*! M -[=/&W)4F,Z$1+IEGS)K\]I2<@24DLM<5$#6[47#'TYW_E.GSY]__KWMX6E MO"!"L6-_.[L\;YXIR#8<$]O/W\X\VM"I@?'9WW_ZXQ^^_JG1^/5NW%=,Q_ 6 MR'85@R#=1:;RBMVY,G662]U6'A AV+*4.X+-9Z0HE\WSJ_/F>5MI-,(R[G0* M>1Q;\0MKG5]&OW3"\AS[B]*^N+EH-5M7RNHC2/8!X,UR4T,+V M?[ZP_SQ!A0K M.F7-XJ_GK<(<^0OWEY\>M#?V+,T4)O M8)NZNFV@,P72?Z'^EWW'T%U?1['L;T_$6A5P=1'5Q4W!_FJLDC785XW+5N/J M\OR-FF>!B +EGZW L"^RX%RVV^T+_]=5TE3*@I+A5YR3/E(0Z%E1OA+'0F,T M4_PJO[CO2_3MC.+%TF(%^M_-"9I].].?WQJ,JN9M /G/$Q?X9J;4<6P3V6 7 M\($Z%C:9'42_TN%,TXD-)DG/%%;9X[B7D$XGSSK\;)P;SN*");BH4O+%3M'< MZ193V62.D+LE&&M%[E;^N,XZ.IW?6\[K#NB(%;TIGBZFAN50CZ NH@;!2]9^ MA[,[CV(;4:K:H$"*HF#CQ NDLL?(\,"OV<]^CBYR M=6P)@]^]'-O3%%,_^U?[KX=?=(O5"O+U[!=$75^&V,?*:JA4R?8P]D#%]C-^ MLI!**;2CCKZ);1VBUQ817; MPS= ;J#3$2*3N4Z0ZKH$/WFN#BUAZDQ]P?=)$*D#,LLQ$A5:;%SC MD"2E#"(%C'[4/]/IDQ_ZPVCP6=>7_FCK EDN77WCT^]3'W[Q&^OM")J# O!+ MZ%.A20YGX$U7-5GZ$[+\(69QCHO]2A^TC;1 ?8?2>X<@_&P'+<=XGQ+=IKKA MFY1M^G\%9J.:__:"$*8 ^&XJ^^WFZG.K?=.ZO;ELW]Q<7;=;ES$UQLQ;)4F- MZL18"0H?4Q:?' >&*2ZHMPB:50.#>:[RSXBS$"0XE,"I12T.@7[@VQE\\BB@ M=?SX7+?.E%>H9>[ZOTAD@>H+N"K6CX$:)A ]3]B8 +L8T:W87)GBC]K*-E9$ M:%PJBHL80(YQ)-(:O#+A"1]ZHBTJ_UP)=0##H8MN#N&^X1,37%[U#$)7&!Y[:FTMTP +Q M*WGO@3;I :>D!,4#:(]]VP7$43SS6$G-1Z32>U/01+V WZ_!Q"< #(#P+"& M;2PO:N!FDL\V]LTS)[PHIS$9@]&D]#FA0T;*W\TBPRP$U22AXY@@'_!WZ(6) M;L%P2S47V,;498!>"AR(6&;Y+$:4KS33&R"6,9CY3@#ZB#C\6#26XIAX+((E M84OM.!1&16/T@FR/UR 3:>3CJTCK:9Z* +M26"G:X;K&WT$%HP:(DN&-RI M?770T93)#TV;[GNA(%AZXECSZL<]-\=PP3Y8&\L5+4R3M*5K&'?>UMR$DFJ- M-Y5BP45&($N"'8+==[^M[+MCT^D<(JGU#21N1R?D'1KYS[K%[_!$\LI*9QYI M&5UA9:BR&T!L=Q!W"BQ*<1QD%@&2,/Y4#R M\@@CK24B[OL(QA@N1 PL6EB&B]L<1O.RR,IM%H.E<8CTLW5R^=UQS%=L6;S9 MN?#G0^(H5V;9N\?UG=Y@5]%D1 %7(EF3.KFY;E_6/7?#Y[$R'MG[P2Z:(?#^ M9K1>%.'C,,O/<$A\ED2QXUXPM0D9OOB8[_>WMX]9/>TP>)L]>$H%ED^>Q.E(>Y! MB@#)/@\5DS]_ )1.*#6!F<+ETI>'2G865U,R(_V=S<>(S5 E$TO-9IZ,_ DJ M 8 '0"P[XB/<2KGICXO>$AAE'^UFS:RMH+V7GWUTA\UX9KNP#[)A& MV)8\T6[X(ZW4))?OB0N 2;A.%#N2S)8K_>V8S\@V^(%P3@ZIV10.C,L"E)!5 MX8%8.N%Q<"B(2\+#1R,2SNSX$/)V4V2DE(\\02*R%@?$T,D>!S-OXMB%9*XG M.R(FA:#)'NRJIHD#D48Z-GMV1U]B5[=BV'CCFL*,27U\EN"09V6J*X*5/$3D5P0K^P+3E""=>N2]T(6G$QX1 MN8+@"M>9:MC?'[/#O L'"BYM*%G*$5&_#>0B2U<9C7R_^_PY%R'&V>'N]_]4 M[8*@CCKYH=SWA[_L_8J@]"6 8T1=@@U01+AY.?E%+.4( 55LZ9DY!=1%P?_A M[V _@?9FS'48,H]!&=ILA@SN-.">A=BSXPFJ'<[BH@SMC4!S%+F#FI+-N'T# M%E[WU2.UF&S<$^Y+S;*/:=G668 Q(LX+!F=X]_Y(V4Z4\,HW^UDU7/R2MY@N M7L#O9I@VPPVU5VZH?;7_&;#P(LQ[AXS1TB.@$HJ@1RX<:A=GE,^:-N0R8]ZL MFA)D/)@+2C$0,OV+(GS)A[Y45'M#Q,#T(PI+[X_.SW<*9E!)![+/PJV,>SCK M8J8HVZ3B;B$[TRG80GD%%,[(U> ..'H)#N=M$'5D%""?44@;=8AJK]P<;WU1 MQ]11#= <03^094Z=!]UEUTZ^?UP_6>!E"O,GM'/;O&Y?7\GI<$29Y3N<:KH0 M"D5J/K+UT;=""QO.RMJ*< &G8"R;*>-00I:H+? OMNVB)^Z1OW*EG(+9;$$C M,D8Y*5S<4Y*BIL(MX!2MI)PR"MO8 M""V$*_M,>?(NW6!1_P&Y<\<4N:1)(.\)&$%U/<@8/2:/&!=<*)Z5]@08%\OVYT_'1G\Y["'SGP7GA_9/?>J:(*$GK0IRG8 95-% : QM6?N# MS+AF[3[4,C'B6M83L(K*:EC-#36EG4A.0^->G"IL(]P23M)4RFEC93&BJ^"U M3#YQ&D-X>PU[;R=UX4EI!Y-7V$G:467%K$Q*VJ5RL38379RRD1^*2CE)&RJO MD97Q2'M&-PW2#^4_M)8WZA7+G%3,U77[Z@1,15@1*PLIO5B^[4-^74P-RZ$> M 134('@9#.7O/(IM1-D=(G_A[EK=ZMG4)5ZP7]8>LSTD M!'#[.;KL@+,E=B+P4_.R>:DTE ]AV!_:I#/NC::]X8 =_IO^T)2[QTEOH$TF MBCI@;P%->OZQP-%8FVB#J>JG;"B1<$I,.L6Q%5V))%1\$96_A$+^M9:7A.YU M3/S#P1^P>?-,_/3[GB;+W3=4N)=/-+M\SJ.0LL2TV"8P)7Q5-?M]'G'[% MS+GW!C]KDVEP\KNAQ"JMS6>7>\FICA4KA[A31!;%@F8EE:_EK:DS:_5)$(:$ M'O5D^]%"5K?1=];J0M=7P=C2J&,'1\K6?ROG0J_307(/XM[!]]Y=7U/4R43S MO>5'A8HS4SZJ5((Z:_.@$)B#7?3QB[\Y8/V!#8ZEYV>JP<_F"!2[^R6^,%H> M&:>@I,E_NFZW/M?&6\0QV#C3_H>#REN!G.WK>^2AE<.BQ*V[O M/1>^> D"V_A[XA;G9DHY\EOFZU4,#Q\>.A%$6]0D;((:E(L5I6R#.NJS8/W MV8O4*+DE,)H)C33!O?--//N^;^86%&P A$Y?D?6"'AS;G7-?/ZE8G'SMO"SA MB9N^MZD%V<\+B(+]%]+)O>.1#2UG5UE,VN2$@:WFC)5?]6"U1Q6FP+5*6%]2K+"&M=X MRFS\YJ:NY6 KR)'4(D<\U;U'8(FZQ:Y?]D":]X_\NINSIWE[=C9BE%H;P;$X-H;,CR6.W[&6%VP;?T9LV@[J^L@36?_ M&I%]N%RB$8T1A<&Y]OQ,\C%(3$>(^'=5J:Y+\)/GLOWE4R?^R.-PIK*"RJUU M9)Q:'&C3U7K'2!LKDQ_J6%/4Z73=?_P8]KO:V#_% MJ(Z_JX/:5CY^\4E!IOH"7#^C@;=X8FM:76QY[*U'ICLZ]%SJZC:[\)?3-$J7 MLN<0,J>P8Q-<,\\VV:'8$4%+'9O\M2OA?$GCO07CO:D[ M8,S48W)>N3HT"0<#[%BBS9;GQ_KK [1' @TS[YQO*NWA<5@>CH2C]=#BPKGE M?.>0F?9P>1.'([(87,>E>MPN:P"3&0E5YJ )KQU M+336TM%,:JVD9#035K_:;UCCS3^IV^?R+9Z;OH:UD16'BZ7EO*/5!EN$_3V!-/_T?4$L#!!0 ( M -"#)E>I7P#>NBT /BJ @ 4 86=X+3(P,C,P-S,Q7V1E9BYX;6SM?6MS MVSBVX/=;M?^!Z_VP=ZO6L9UT3W=2D[DERW):=6W)*\GIF4]=- E)[%"$&B1M M:W[] J0H\8$G7X 25\UT+.D .$_@G(,#X.__];KQK6> 0@\&G\^NWEV>62!P MH.L%J\]G<;0\__7LO_[Q/_[C[__S_/R?U[,[RX5.O %!9#D(V!%PK1[#N\MW'ZWS\W\D75S;(6X" ROIZ_V[J^R' MX;XW&'RR/E[\[>+]Y?L/UJ^?+G_Y=/G>>KC/P.XQ8DM/ .=[P;=/Y#]/>#0+ MTQ>$GUY#[_/9.HJVGRXN7EY>WKU\> ?1"C>_O+KXY_W=W%F#C7WN!6%D!PXX MLS#\IS#Y\@XZ=I0P)]?\]0GY60>"?+](?#Z"D+8WRJX\?/UXDOV:@%4@Q$AX'_L#+?_R' M9:4R0= ',["TDF$_1;LM^'P6>INM3SI-OELCL/Q\9J]>SXE@+W]).?2_YA%6 M#J)U0QBX(, ZA/\(H>^Y1&D.OX;3Y3R"SKQZ$7@# +3+ MK1EX!D$,PEL$-UAF$;*=*/P=3TO#.(S@!DMIANW8PT2N'H,08QN2*>0!H"5$ M&Z*BTR??6R54U&=5)TB8S*>E'?N1(>PJXM(WUS"LO5HAD*(S768M.F2.<,AV M>3"TPS7Y/YGMGFV?V#:>!<;!,PBCQ-)KDRK?<\\4#9[QL/:3#VXAFF. .9G) MO,AK(-8VQFR7"V,\>07*O]4FN]8@W=(Y<%V/& Y9 MK9()A7QHC4!^[^U2ME]V@]4 (8P$:&:-_-Y:MD"XV7BIWM\![%:Q%[$^$"RH,)@'F\V-MI-E\,U$?88>VO8=?. X)_ 21:<>;S% M_1'%LWVR'-WZ\*6=:;"E@5NVVKW/A!TI!Q!?JIF?+^BN98T%*\*N&=A"%.%I MN;Y:LCIJ&=^_B+%\\%Z#S 4SM\ >A,R%9:(L5'Z- ?&?!\_P'S_^K7\ZNK\_>I M!,IC4:2J/I'9@6LC%]MMJO*#5QS 0Q*3[>.M4&'BE>ZKR)\:VDG("[.DV-(. MGQ)&QN'YRK:W2;KP N#QR#>DRS#!.<$7 '=3U;U*%ZDP,.S%Z#7"$SSQ^T9! MC*>$1)ONO#!2T:6#K+T@NG"]S4'>MN_74YI<%I!D&G].B$MZ:XX4_IN0#(-S M-Q58X;>V_^./.LY\\/\D6#&.$\,(W> J3U%$V MD&\_ ?_SF7R#/<4R#2[Z)WC@."@&;A4K!KU"^!*Y'/@"M4=E'* BW=A8LKZ7 M"&Z46 ^E$(E#/ SV%W89M,K0VIE"N0K$*I:U:"H?I4(B'+D.I(IVW M%0:RYMC)/J')-PPZ4'DV+0&I$U,),/ 7?TRWR0(^E. VNCI%D3:^-MS@2=VSUD:%L.XH\KABZ58+K7E-* ANA! M":N]E-_3I/SW"TH@JA*@MIA_XX:K'S]^O+RTSJUCS_A#UKF%>[?2[BW2?Q;% M'D9HIM A<-ZMX/.%"[Q4E_$?1Q7&'_ZX RO;'P48UQT9OZ3"%(B*"C-@&IJB M&/-TN)M"4BF'=OYG*LYE@+HVQ^<1I _6T-Z82<"*S5&Q(R9'P^HXJ[8UD88H MRDVB^--1AOC#'XVEVC#]"6$K#=27 M4*&:!1>622T3NJD?)[V(BK=5R^X(N7F$(#9=+. FX< MH]24#!2CUKNI*=*2-ST6#;W[8C-2#L;POPZ_43V3PJ]]8DM5\M*O;(R;JS*+ M-9 Z2J\^4@ZMS"\JH:-W:G<*5N.\PU2FYUJ("QGSW"L: M*%/56, &D,@U,#JP-)GMF9" VU &A]Z-A(YT<1.6A:Q6,TC+J0]15'8,F6,- MG!:(L*M U,"5#J:%$)*X8&YML$ EB"H"-PG-N3R%XK%[#=AIR&:1.P_))NI, M+>@:$Z1L?[#=^EZZA(0/ 'G0'<:;V,=?/(/1<@F<:(%L3!_#)6JAIXJS4.Y- MIK-ZYM$68ZCVT4I?C9G3W,3:$#%LS X-#ED]/2SZ:O7%I=6-N[9]Z-[P&AI#+=>+8#91(;L^]DY E,6E=U-C(Y\W)C[2O;M[#PBZL1-- MT1R@9\]A.7PT,*IWQ +LEYSD^'B* #U9QH7E$4:';N+W"5@+)8;OU?6CXYLY M?UP\]55L?0%PA>SM&J]?OJAJJPS+K]RB0?=%71HLYC%@5V^Q8.G4\:!;J=[B M,!E*X*"G@JN*]*&*BX>LYKSPX>:"Z]T0$[*"Y#Z57*4ZK916L34G9RK=7@-O MDF,CB[4=+,!F"Y&-=N/-UO90/\&[C@8V8C<,A?N MB?% <_$_HM7#U[O[NT_(1KZ=LC;VE+H@:ETBGV8Q:^D>DK]L()!)3[,8]G"M- C9[J M\JZKZ:"^Z&%CW#4XX(K$%C=(:A'9>SHL_T)!TV%LI+-L&!]9O95=\5,(_HK).;-G_!]2G<"KZ:)# ML^N=V/!FT,JOZ6+!J]#;8JV7D/E0$I/^*[Y8J!=JO7@H:S62-'ET:SODLBE> M>K@*R%05.JAVXK@&00.5)+ ],^#R&(K'[UWY:0CG]9Z%J%:5_VHCCUSI,^.? MYRJ#,;6!!JB9+*ZJ5P&E2&M/S3FU?Q*K)Y!:3("Y-]! MNMY-["A&/'47-6/JB$Q#0]B0(L4U#E$S)3:4&S8U' 49037,>C_)1!B&Y#TN+UB!P,$Q4$;+='G\FN=>R7? /MZGU(5V)NTDK)'30I(-E3:- MCSK6$1241J__4Y *]!3.1O+IT'N(_\5&KB#>+\"P#Z&7H73$]N1 =O7AH-P[ M7->[(\R#O2/?)8@?L0_0D>73:Z"O=:G-[)NSTN9!F(M!&4@C*=P54G)M M:W]58G 1\L;L?3DI(IE?3?I8!U0\1&Q#KN?'Y$3;\1;OT:OCQRYPT]>5-]LX MVC^BG)52/@"4+GD[>@<\?[.[$=G>:[=C&B,WH=6*FBERL&5_LQ?-@&I$]>^) M=LF%PE57$M3KW9++OQ\Z\\)OUSM!+,MIP=[#XKYDRXD" M2N/3_Y8>CX#"WAX?\=[#O+3T:O\&+ZO6J0I$#6WH8#T10J:BZ;* C..8\)2 MR>)"-XG-N&R%$H/W&H+1L,WB+RZ6IBT+UR!PUAL;?5-;&PK-5!:(2D,CV) A MI;94E)HIL*':L(-%@R4CWLI!PDSWM!B\U9%EY8$0.T][7)7G2 MJL^/R)&D-PV/X!:@:$?2K.253(+X-KF'4F2_$BW966ZYMB;Q0VBP$BW5^=&N MF:J)#"KCU_^V@0Q!A=T$.4(,N*5[8;\.XFB=O!$IV"=C-^ <%^0U,89HP?%) M=A-%PML\$"DAB\KUW&Q\--W.32>@>CDW&W&]UQG8'OIJ^S%>G^^!35XH)39^ MBY*C--QR2HF63-V2;*N3'S2\^%<5B%N*^<%OV_A* B61067\^K]^0(:@PK4# MI-98Q3$%S0VPSK**I;*7,/I3LE=M+BY8K M)U:!\7*1U6G&7.I$ELRE2O>M07;@>+8_#L((Q4D=)_>&(!HT6QW9\#H>HR07 M5R_)MD]V:ZD7K*9+"I(AB25"^D]<*VYS""97VQZDA0N%!%H!NT->Q\U"=&H+ M#VBV3*76.>(QB,/8]J=H'"Q3ER0B26S./,%IP=1J01MSZ.9. -PVJK2W9Z)R M H$*&/5N=UP2\K8G1+UD3'^_*''U#G],?J!\OT>S0.7+R\L[&ZWLP N<=SBD MODA(/%PG/(2!BXDE9RF.]Z4>^.24Y@)M.W6EM^*YVW(5V YEDIOM]H-)"H2G M<=7MMPI)^N6"4=J0%S3Q!,=]_)T"UZ4\$OZ<;_8C\87!5:UB34Z%!OT"&+BN MEP[_8'ON.!C:6R^R?:XP!&UZ%\S[AH(1T*-?2#,08=2!FQ6V^=T']W%!0'%KT"V8"L:8$$28?][K*BFRXLN$WZ5T\?VLH M'CXY^B5T?+,9S]%)S:(HU,D!=B@-V_>EW><*ZM289A_UE!,:& $W^D1DA./O MD9^ ?CX+TQ> CK_[$$?VG\\B%.N*3LO) SP)^[&+E>H!HH3K482\ISA*RM8@ M7>^8LFVG2W:8)=.'H%R/'"X^8D+8)0ZZ=WS?BU<;"@1N!I MB#KUHEN0-;65=6X=D2$?1O/A;/RP&$\GI*QK\=O( MNGZC^=P:3&ZLZ\%\G!1\/$3@\ &E7^IJ#:BF-!<[A:X7%-37#4%A16> M"JL0:9 USWL:)>AQL(VC,"'N M2FZ&IK4P>6(6ZB]5D#0JS13;>V6QO=Z!?FB9VU-FN%Y1M"5Z>I35";>QB W;V-OH'H-@Y<_DD(%K IZVP7-I 7 M/HM^_6)L8]:KI(D[2-_=F5*RW G#J&M_\W7H1 NER2X"IHK\0XIZGVV_X#\= M,^L,?5-H;YS'V)56*?#$L/TU=E'8#7B*CI]8]5'2S4TIG>Y<%^198IHJ) R1 MGP@X\*:4:GCKZ/)XVANW-\,;T?S>8$,,/)RB%EY;"R ,)5SH]KFQ;G6LYQMT0]7EDH^C&CG@W!;<]B%D;O>VJ5O&T>;M\T[]N-:9( M%&&U.8#>\*I]5K6J6J<=6$F1WT3%S FH#- CX]QG*:SQE^2Q)WO5:-G/]V)* M7&6 2N39-.6J1[U=4*=>C>E,C- '62XM?W%N4EEU":&NSMT7L+^K[' MH._-"S=D;GOSPM^\\#KTW7CA&-9>K1!(R9HNLQ:JSO:' MVLYV$0,++JT,!ZT>-8,Q/#^9WZ2GYZ0/!SF_ +A"]G;M.3;MK(, UJR-!QEA M9.].K>#SA0-C/,/M M4E'L/QPEL?_BC\=YB>WY'W37)DJI"V%P'FF=W!R/&-PD/^B.2)2Y29#6RN&4N'**\C;J8W6R-+5O'V!MXJ>MJ9E;R'FW=P1Z_[ MNV%)313^'^<6R%H]Z9[CFNA#+8+U!S6DGK54TSH(W''P#/9WP*G%+A^J5W<, M!_/?_F_RW^3]I:^#N^1Q)G)KQWCR=31?I(\UZ0Q/YLX:N+$/IDMZE2_WU2:Y MMEH>*4]";:(=U[LA=C17$.VFRUR)*N_J#.G69@4W2J(L/FTN2:_^53BY 72Q MMH,%V&PALM%NO-G:'DI>8$/ 3>\D!N'^YL5_ VS/V\H\<@0G;^6\TV<= MCF= '%;37"I7LG;#(/W:]AO K@G&)DI8<"QNYYY7$S72'1OV9DIY-1$Q1;^L MZ7.FR+T7MM+KW4L25;A%3VX5.;IO[W6Y_/;J-1'CY2\?KA)1XB_^.&KC_5[9 MTC1Z27Y\4%.<<07Q\0EJ=Z>*ROC?@;=:1\ =/ -DK\ ,SQ W8 M#+QH"%*47 MMI/I8O\E11[*/>C.9-04DS*=/4AOX#C8"G/!3WJQ>G9/(UX# *:K&@HHMC5E MYT]18@H4&K8GG#U3PQ0@#]"4AR9JK&(T\R33;QA\K/TN^Y8EZ$ &4-+V&IBJ?W*9VGQ=]VQB8BE16SU>T"G M?=\8(S"LG>I]NTOL[2ZQ[^LNL<=Y]@3R!.*P63))*VRE>^7JTBKRZB!DA'X) MOV5FE2;]$ZV_*%X?5 Z$%P!M6!4V$@UU.TT-I"Y#GF%))S[*AV1:FJ$9+/&_ M ]^'+Z0R'L,<]Y[2MT%9KU:W/LH)II,[X\7WK5&'VN/<:OE 73^\E$S('4R'XSV-T^61R@:OF#<\)6/**EXZ MYMJIZAE&'E. 1Z75074^HBE9K%/0M3S?#%_W2O17^":YT(F[,27!U:+^U&>& M_BG(<>)-[!,M_H*P,(HFK=X@-D[Q&-GNN$8Q7ZUH+7;/13(G:^YUZFO'L MY#2,S)E[_.LM<4W',R7Z-UK+*EP[K>5-CMIZ:YYLWZ:D!_I?"&4YI'WN.CZ# MV7T0V&@L4](%OK7"05\W\\K9!^UK6L-WAWK M_)C/.(CL8$4VD],'M$@V'P8D>TM.2Q=_4SO7\W/UCI'Q9#&8?!E?WXVLP7P^ M2H[P' A[32,0TYQ'-+V SNO.=D$[_ %;F3/.(.]-2;LY"ZWMW;?T(T M)'LX_!IT^1Y,/2(D*]Q2<;H\X?JG=0ZZ1V0G]@9P:]*5>S&K[%Q5UR7E32== MO\P7R'8!08E?7EX%,V6?J*;2EDX0E(C3+Y?LKK$9\-/7--;>EB\B;@M3=EI: MD!:73OV"XU!X)WH:7*JIYA>_%DLV=4C?=1QB;<41MO-7[*4G63B))2;T]Y1$8A+)N['0$-&1/Q'@YXLDVAF4 M(1(HJ$AP)<*ZV2R<0;Q@I%EZ.]B- X>:-^!"FI+=D5:J;!N.25$WK/X"-AO[ M ;X --^%>(V]\]G,YL":$MDILYM#D_X9Z2T5\Z.F8BBN+)X*TD<;OD#HOGB^ M+SAVH]:%*09<5R?4J#4LL,L09$CR^+,IJUH=]H MU7AHY&_5(H#;\60P&8XG7ZS!;(8#LY'^AT6(_4R7Z2'\6]OQ?,QV7J3%@=>Q MGU3 @Q-3T0#-"J>$@BCL%E'(T3]C%;'BAD=T4(,B(K9FL>5@SOYW7IFXVZLT M0%/6$YXZY85 HT&_"&;@&?K/> 4IDL&5AJ"-*8)A:U?IN3$>,?HE= >B"" Y M,Z&"FN(>2QL*E0I-K^1FM_S,'1#8V-\3O5EIM9M#C281['%X#,(M M<+RE!USV0\5L6 ,6;:%"'?C/)J.;3%IJDE^XOE7# M/G5/@&+E+&2IFQ&K7P-HD\B=8-M!T$;O?H,40:QPLS2-&O#:7B<"WK\6<0T1 M@B\DHK.W^)=HIR!O=A>F1%&M* *;3,-\&G(<[WCS?'*N;[Y%P':G07XFNV*( M6+ZY*06ARN*5)[&'D](T[,DC[EC%TG?NR.L X%C:)3+5EOHTI?Y36K@MT6V8 M,9?BJFD M1/"2;I/<21)NCO!$C^-5!T?KTP2W!4S>;'(90E7LPY1DHIQD%8D[3?&2IPWQ MXA Q"X:5NS$EJ=BJD'/T&2;G(NHSLO4D*"#&:'&- M7K?826?9'@/6E'N5ZXCG0(318GFP=TE>5THN1V!3+BFN(Y@C%49+YG= [!NX M@V?\[0K, &%+]B.9I%GNIWHWIEP)7$>:,O2=DIS)-@G9]R&>] - #ON]8O5N M3+G.MP4Y4^DS6L[D5F(I2:: _>=@+ML35DI"#]4&\S5$$;'R&4;0]@'835*MNP5TOZ5EOW+KU$N1(HFHVHR?K?)T>_TZGJUNHP/_+J, M8\<_;FV&X&C2C)RY9YP(R_UV*O46);3U'/=*$*!N755^-6!7D:H%!5[J/;]X MCWF"YRXF/TN_Z][[8RA QM 2MII8FBX';)86?]>]RR-B:1%;_?[(VS9I+]ND M5%]^O^3OL.OJ0?<6HB%,=OP<@ARI/29WXM"<>=F&NHU!WIF7I4B_+SB/H//M M&L?=+KEW#Z]:B=#$I1L+S 0@^-NY?QV-CR?!X $ZM7@G&,&^W;?$6GA$K M4F[ XEF;QB,I@?O@VX'PI:%NAC+ I>>J?F$A[X0#^I6(ME+,YH^"*X&X;73' M%7W81_%2(2X[],M8R @6'X1>>0L=:_;B6V,-_=[7QNO0B=95UN;KZ*\8.]C' MVL-P&JT!6F"G,JU:"B

,8&!]P9]'WLJI-&;:MG322,"7BZ4>J>N6G8UDEW MY'\AL6P_8=1^@/W2U5\R8IW8T?@UO;05]N/@1'^ MNQJ6)V\\NAU\-7;_,$93= >%3-(<(DC@]P/%$'7F.1U!AH34>JGB[8K:<1C& MQQ57U88,P^T'BDOJVH]A$OMAUJJ]P2JF)[(N%R%H]&%#=*%16IJQ$Q.F1XN@5.''D/6-4 MEYX#$/-8#@M0=UZR@2IFHF*1IM^3/)WR<5:VJ\?R<=ZS+"9& 6^UY*;7DANF M4:/-UH<[D#K6:4C +2KGP.N>M?LN*.>PHETA4[=H>I'M)[2$,Q "] S(9;VW,3D]1$[LD>P]0Z%J]',R^URUM*8& M0PQ3C=I\24_B[-W6SYQ0S'%R=F$MJ \Q&VI92@C=P;V)TF%(I&=@V.CV973PEG6F+.X;-5+FY]H84?8/ #5/R MQ*M5I8$Q3SAVO2Q5*.]C]^3@=<^ F][_/PX&JQ4"J_R)-:R=Q](?>AEDC6Z, M>;2Q=9NNQX]>Y3U=[C.:J;;A569AHQ6(2JM0.MMP1:[8DSG//W8H=D6> _ MTSFCY">:]-9DCVZ><:(\U-;C(,=S !WKP]'EA.QP 7%TE/^=/'HZ@=&_0#0# M#EP%WK\K4T(/XYGS6F8G"M4AYWX4G3R\9[3_BL"Q,FY](V'.6Z&GI;T,=AJF MTK69NJ^F'[UBU\$+P>'ZNH0WXP"'?T'H.9W<&J(T=/_J>QHY924F?F=*.XVC M,+(#UPM6O6@J9[S^U?,T;JT1<\Y$G:RSHU@T1))"*U+*W7GK:,#^M;+_3'=' MK#/Y;M9#_F80AO$FHV4+2*+V*R076_@8\YD=@8/S<@^#:.WOACX,2=H681>) M]M2H?I3Z5]G>$NWZF:O_VJ]Q@+\$"_L5A'.,.1H% *UV#PC^B:D)!X$[C[?; MM.0,N^9VN+[UX4O=N\"N+JMW@8TGP^G]R%H,_CF:DZO!"!)6BH65H6%A/*P\ M(A;!Q"*H&'A+V#B):0BB*7-G8 L1B7$V,$XJ 8=8,580[>0N!5/M3L,:G2)V M?&:8#$(LB7V B]O"U/O!Z@DVOT!RR=;O:S'0XQ[N$K0QX*2!@I9*R,JTH\>0)QF0A"D+Z01"UIKK/-"BI95YTH(L5,L,?;B\*F>&AH_SQ?1^-+.&T\EP-%G,DCOBYUJS/ 429U[XC9?# M80'W=-SZ 4%2:CA%^RUXQDT-=#"S%!Z\YT2&G,H:B41TD/]^/N MA_9(J4[R^DE2SBP4@%PSW;&GDB3D2-+OA%6FS^N=X)IZ;@NS+JT7KPU21!EV M>WB5*CP8-Q'/;6' .J*@C%RAYVU2T,C"S7D"LO1+ MBQJV",4E;*5[!:LI+R%=?=B:\ *I/R'*$ T9\0P-R*P;0N6B&1H=!LB W%!( M#C/ED&,&-AQ8 Q8DOD9E8N#0T(.O71AW&M!W=7F NEO$" MY1B= ]0][==G=(Z(WAF- 25UN@"J>QNL ;/S9!CFOE(\\VL0..N-C;ZIQ8JE M9F;= -LH8"Q19KP$,W350L=*,P.6:U4MY0NR3*!A@IS;/KF)Z!D$,9B B!N1 M,&!UK_RJ.EFHW*&39)B0!HZ3[.?-@ .\9S*)<.7$!M?M.S01%9LJTZ05AB!* MCYCRQ52%T^UN-))/E1S]LJ@0KRRK9C;H,17+$!CISLJWWF4Z*^-F:=6FE8 ><%*K2KFIVI5 MS'STY7XT65BST<-TMAA/OAARZJE,:.Y%GG1XYMDQA.LXQ.H8 MAGN,:.EHR39FU=HT$&G!A>?3;)ASN$>._VYW$<:@D%A*)PO"*9+2QZ/*WT^Q M#E=GWHIT>G3,N!+HJ3B'_GHE\ %V!C9QX*5GU4(\=R([Q2+Q"@1R4.W %)>- M*Q%5H@S8[22J WW/3=!-7$_&KC,+T*Q:J89K.X]0(X7%W)EF@QJPK(L5CRT, M0_/9T^PD;N:9\(\GLZ!U+_TR6E8XB,PB1+]$AA!AT\=^XX0LB@EV_+HG-KQN M=T!5*AQ2],N%,S&+DJ1R336?\58@C_'6FOS*]3UD5;/45F4J82@!!UZWG3;5 M 0YIAIUZW&]=DG-[>&**D.U$OWO1.LM,CEX=/R9W[Y'-&?P_=V&_,L19JR?# MH@%E0='M*89YUJ2HU*E&DBXEZ/Q9*6H)$QKS+5%9R /L-D M6+P<@GA)7A!CK/?ZAZ/A:X )S]_O.7K%4P=FGA?8:)?P 9-+XA_,9#^]"!H@ M$/(O5NEH1&->?JJI/9TRQTC5PS3L;>,:KU!LIXH); .V"#A>@BY#9$40<][YJ2F@(CF&B0.;.UYBH]V#;P<1#I+(-5G;Y*)V MUTWXS)GTA W->>.F_F0H)-(P@:9F/XP1 LR7J$LPYKSU4G<*+-)CF$3N//N) M/&C@ 8%8:(#FO'A24S8TH@P3T!<(W1>/[+W1TYJ'G\UYRZ-N4O- BF$BX+MP MVERUEG,DTBY9]V7UN<= ;G$$'6#_Q#^4P>;HR18Z\O9:S4=+?K[\4"G"?WQX MN!N1.OS!G74[G@PFPS'^:[X8+))OK?'D=CJ[3RZLQ.!')(QYKN0QB,/8]J>( ME."!OV+"-UUF;?(CDD%31#Y.U(;[1S>M&)6(8N;Z"[(4U*OK Y93):Q]E)9 MGN5,YLZ4\B]9LB2L1>M3'50+8R#Z&"#@P&> ",*W<>"&Z3W@%(-3[L&4DBX5 MN=8BU#!_GV2901@F"-R"RM.-;#!32K/J&&*5&L.DPB!J'&"W'8<( !/@ . J M3IZ4YJ94:K4XG5*H/ WI3D#T!7.,L[\ET]"4\VON/ M_P]02P,$% @ T(,F5_R>G;8$<@ :( & !0 !A9W@M,C R,S W,S%? M;&%B+GAM;.V]_7/K-I(H^OM6O?\!-_=5S4F5G.0D.Q^9N[NW9%L^T5W;\DHZ MF9V7NC5%4Y#-"45J2,K'WK_^H0%^B@ (4B0;ZH>Y&H]%H_,O_ M?MWYY(5&L1<&__K5QV^^^XK0P TW7O#TKU\=DNW%G[[ZW__V__S3O_R/BXO_ MO%S>DDWH'G8T2(@;42>A&_+%2Y[).MSOG8#OW[UG"3[/W_[[9Z!NZ3L(GIX3^ M^ACY&8$?OLW'4D+ 7Q<9V 5\=/'Q^XL?/G[S&F^^$BP:T/\J$P8^D(GS\<=O3?_TJ M]G9['^CQSYXCNI4/[T?1MX#_;4 3F) ?84(^_@$FY'^RCVZ=1^I_10#B\W*N ME.#'G$:*\&WOW#V!7M8YY!^WY;*,5.+4AT]NV;\JO-+7A 8;NLFX!1J:GY(/ MP7]Z()R3#MT*41^T.8RJ,^ \O5Z (7WW1Z&1_Y-]\+?KU-"GP686)%[R-@^V M8;3CMC!]C)/(<9.,#!> TS%$^[;"(V!/HRJC3N1FU-D_&V1/(;YU0V:\^^3" M%U,LT+=1N&O#6\I%:([S-__1E\E4$2BB<7B(7-KFY\R<+1^MXV0+YIAY,T3P MZ32X^+SZZM\R5.($&^;Q 9EX!?8W__)M,5C_@E5^H)X%8KA$(),2ME(>$P,! M8>+,'VZ=^)&+@;ZF?Q-DGW)BX(:4?_&W%?D(*W*V=Q\+_I(*K M@,8W$CV[8!)RB,$,0*8G.A9J6I$#D5\XV/\=5J\3%DC1V_&8'E=YV1)%Y^R? M<9-P)4 +E+C&ME21;I_#EVPWUA#*S M?Q0ZS/[(%Y4UHW@D0/WK\?55Q2)HZ?%WH^JF?'#UP@LP2(K8*ZL#JN!_')R( M">&_+>D^C([C9RTDKF(J&#_6T2,P-'65\J%6AQR<"'@,U7B@D1>RJ'=SS5RD M1K0C.%RUD#)]K!05(#25D'"A5@@!S+81&P+@%GBU0=@?W.$L9T:Q^.3R"OQ-;\QO/I_>'W2.-)'+507 40L5JI@C' MWX^N '(&:C]\F@T!."( Q__!E_3)@_Q-D-P[.]GZ)@?#_.'E+%=__"H,D@+( MF% I00%+ !AQ91N.]\&4>!ZX8<0<)L\H\KWL57@(DNCM*MRH=;H!"U/%C02J M:KP6!^Z7Y$@(PH_^P4#WI/SR'@3K;5P?!^8%5K&8_ M\O'WH__0<@9J/S8'(QP.8?^QHNXA8NKV\?O'M9?4:IWD(#@_N(K5[ <__G[T M'US.0.T'Y]^1<$L^?O_A\6N288WYJZ\C!RK&5V^[QU FR='W.+^WE,GLQZY\ M.?HO+1F]_C,+&"* ,&QZ]NH^,XZH(H,O!\.U;1G+Q_9=AD&S\3H3]>*I%)1D ML$A9\*M#%-$@$4>'H+5LIW$XK@EL!L<,[?4B5(-[.2Q2>*]C1A7@IS@D1R(" M"^/\)*%0PNV]T&LG<5+&-&E].3CNB8E.A..C$ADLVAF)FAGUX4B. X4D3J9* M./4"T963T*

M.>A)>@L*L&:@S7"P=R$,3:@2,>=.4#$K\+=W@G4?DP!C:D26@&JJB$%15(1#2\J5BUWSJ'(0"$J*0],CM*,QNX[[.C>1\212>S1FB\MC8- I1[VRA M41K<:'FIK]R+^^O9_6IV3=B_5HO;^?5TS?Y8K=E_[F;WZQ59W)#9='D_O_^T MPE6H)7VAP8'>L!_I*@RX4'_QDN>K0YPP@:/9J^L?( \RC6/*_F^S=EX54]2) M$IXBGB!X64D[D$%1X,Y\UI0[I41@.DE&2_11S:A-2$Z/9 3A?ME CK[61G.< M&< *KOH7:!TFCC^P."\T>@S'$F@Y^WEV_WF&[%NOPCA9;%.I%#(?P>#Y0RFS M94]7 4#Q81(.ZDLO@X%BXA0*V43;951=/93%,;Q0Q1N/55068' TU<) MHV5M+7V-HJNU\6N_.X<@ @1934V9W8_!+*Q%)S*[7*Q6Y&&YN)FOD7N/4M^' M\@T:T,CQI\%FNMEY >\" E6)L]<]#6)E0UU#9,0>I:W$J_0M-<+$Z67:@C5) MD3M'GI 4G?>GKA(@*07LIJ>]B/E4$M.IBDD%!>3U;+&GP$_P)';PMV&MA%$+ MB6=;&L;+AB0!0[$:)1\UW(0QM\T_IW@EA>V8 F)* #A\0FUG^J-'HQ1CS; M ,>598"\X,!$6>3.Z9)NPX@*N+7S2N/9*XLVPFCC!4[TQCNWLSEP(7<4\@"% MWP"BL?Y\9* 1L<]8!IW(^CG-(,,AGO4,*(]R1;XM5N1B6%*,2Q[YP)DKY4-# MKKTTN'A184*JXY., >0H"V%J1;1V.;M9+&M2[:Y5.TZ0QRW($@V>K4F;+%EH!Z-\NS0ZM)4S4U(#! MI$X1\#(I XFBV-Q71JLF M7"9&2BK!R?IBV9/!KWXLK:D;?3>769(E-WU8:V=0ZJ/?-UEW0U MGY!K^IB0 GE"'B8+?.PAB*CC M>_]%-P2V[#2&M^>=RGS%C#J)<_+8!6^UV6AP)UH,S&*X1D&JI7%*<*1"N09^ M)$5HFCBA6.Z9M29)Y#T>$E! DH3DP=%VU!IGX]%!WL7=PW+VT^Q^-?]Y9L6& M9.9$@1<\Q0\TXET(&JYVJ,'QK*9)A++)J&!1[$7/C&8/2QYF2[+Z:;I4*\\X MB]&0$J"H_Z43>ZZAL"FL/8I?85ZG]1S0"I4O<5)O)I'"PI5,T2)E0CB\94JO MDX%_1SZPL'(3^KX3Q63/A(D!;>"LM4':=W!!4$SXVO,/"=T8RIQ#VV/&1P+H M##D%M<*4*[P8&7.*89T=Z"5)O[72%OY"O:=GQMR42>T\I2\>++:UYE0-45Y[ M,GC6TU7DLEFUI8%B;]V8K*EO1H:D=-+7+F"G56]#EMLH^24C^W^15]^^IF$V M__03W(Z>_CQ;3C_-R/WGNTL6DRYN1%BZ(HO/Z]5Z>G\]O_]T'D:MBUU;TK#? MG)6Q;BL"5ANR+AQK:<4VA,U]B#V"' ;Q0J\_H)/^@$'^ \;B!PP+0N2"/&HE MQ_1#Z0K1U&^U,Q7K?%&3P ;>2$7")G^DY[&GN (Y@]NSZ(:VO+%DW]./]$V_ MY%A'0%DGWFOOQ=O08%-LYZC+-FG*C( 9*NJAD+%H1Z=#C7A8QT2&C,G.BTIM MDW/L226KD)) [\'06++!%1,1 WET/W+*#SI= M_42NYS_/KV?WURM;3@7RAEN+[8T7.('K.?Y#&'N\;D>?.C%#1;P[WT*TRLUY M SR<>_/&C)GV2[NS-7(O'^@YE,0-.G<,A*==E2%0-$8 M&0OU[HLV);I9\=7MV S MPT7<>+01KK+S,$'$V7J8&!<+*E+F8D_^E"[*G];V P%,6HS$*42O&G@<6*X1H;JH5R* M0@H<7C$]:7QM>*RLT"E"126AT!O$R)H"\X"UT6",,#$SR\:"51/+C6A(>65# MOB1I97D[<8X]IED99)5/EM'A>RT+;@M6-GT*>66 R#?XI&S7[N)5H/!NU4G8 M4%S9/\B(@S;2#!^"L\D8V--RJXQ58>?HC-+ MS=F4CVMX)\X*FS,RM\5Z>DML2A\^1- X,7E[8'PFTV #R9I]>DE7(:@>!<\, M340I6Z4.'L5(FQFJ*52&,B$-J)OPDZ2:I]+10NIT+=CG\)P\\7S M51(77R,^$G'$8N6%B/0[G.,*>_1IV+M80:5 MOQ34H*)FJ)@I;'/1JKGM9CRDI+#C@*"3;1$'(#4KQSX,/H$_$B#@=P??9?;^O!O8189)F^&=8 M9:ZDGQDJ'F_A) BG019;PJAD67J0O)S*1'(V_0C,<2["[07\]B"9R!+:DQW4 MYF'P\X'J1"!B!E";^K,BXZ=-5%N4Z--F^&S([-UZSJ/GB]9[P89?C7@.?>:Q M8\C )&\-A;'FZ'B&UE;$LBF:XJ(8:SOF:DI80L\S@LF;/;6VIXHWGU[.;^?K M^6Q%IO?PNOSBZM]_6MQ>SY:KWY'9?WR>K_]JC>V9E:'K$*RP+X."=#4TM@V9 M5767$"RL3V\M3G;*5+(6.\K]'IPW**LR*_0[!L8O\9.S+RONJT*BEO7)6%'7 MOJ70UAP%=Q)B+Z#1=3XZT$W=>-6BJN!1-5\OQ)'RRX&Q]%_'C4Q[ )[(U@)\ M*^@D2N-KQ"/MFEJRGV[X3(5 *\/-!'IK7X=;1[6K$%-:6XV-+-D3M=@+6;X_M!$N3KSJQ,D!$/)0U%JMR.MN(A7-,:\A6 M_9 S1R2 2;R I+@34C9\[+/;'N3;,\P+)I\K<'&-:DD3QPOH)GNW;.JZA]W! M=Q*ZN:9;S_54>RD31#RC,A>K;%3-6"A&9#3%Q#6E=42=^!"]-0:),D \4U&S73:-.A2**:C8J&=X4\!*N#B0HO\H^ [H M$^BL3M6-V;^E<4R23(8T8F01FQO&"8L/OY_\\Q__>?*''_[ @[;O)S_\Z0^3 M/_R8AX/G%]H5)L_O,TE>0X>'W(\?L*]7)K6C@EJ)UT7@H_J\-B2PJO;:\R@K M@,O7+'$KKT(GNR#\ 4A]+>[4AUNX+XP=+/8N?=K?JR*]STC8EH%J!9D45@E:D-A?PL.L5-$P97KBS MIYZAC2RU(@=+[]A5CQJ8:UI$_"&F#0^0L\>_C,XIU,BVG%\UB:<^TE)A6G#* MI6>M^>"+X9,P(H*"V*H5K_!9=1#66=+CI+]-)B=>YYSF)PQ&,U%'LL7$5.*H M3>L8PP*3DK/4;$KI^[@%HE7FTUJJU&QJAV#VF8\XB&PQ"QF"7693%:/)9 2T M->929L?85*PX03Y!FJJ)>'IIT,RC^3'W1BR[#*7AL?8&%&M,IOE-;I7=+ Q* M<_",IXU<50NRL>2HY:;("-.*PJ0VVR$#-.SRI9;;@VI%D\V[H)-EM&O_4Q+' M>SZ, M<,L MM%L!F4G85QAK+HA]&YJ:&,V[&3V*11;1L(_1P=MA&\V1OMQ [-F_=!?)TIU+ MIFL5A. "-;16Q[7!9U0@7LWZFA7#5DAH#1*0J&V/.))>G[Z]G]ZL9OS:]6MS.KZ?K&9RW ML_^(*]6+&PM/WW.1A9!0HQ8&_,[XJZ?RUPTX%JBD3ABI*LH0<%50S5%-]=(J MKP*6_ +0ZEO3HVC6D0#7X<[QCA^]:(#%TR0M\V4-D@*B:(Z&DT:-(;\(<&25 M*47"=W3W2".%J!(X*[945:85^R@!A+UY*G.AW3&17P0H=@^&+KQ;>6%5J]D- M.-9=4U5KO!;!ILNI6FTZNI=Z4=Q+M>O>IE:I5,#VW,]4JY$?DTSQ[?Z1IYFK3-%MO46GGX- M;+A_=XM^ PTZCT(?[-!G5)_F 0LF:9QHE5*/@J>')J*454\'CZ)MS0S)&L=> ME'!(AH2>O3U. 3)C$8\@/X011(7E>W7K4"ZY,L_3#W&;[D^>,CWZ.Y==*%MR M3[,[ZT9W.RU8'RN)D%VH8(@T[7I(5@; O&9QS&;U1D7V+=+EB>KP]2"6)L>=2"Q=F0TN M5!C(ZG%9A^7TA4:/X?"\CF*$JJWW31A1[RD0[\FX;^O("6+'Y0%!L.%_L9TW M^^N3XP4@YB7=,HPE=7TGCKVMYSH9K+(QTCA#XSF.,:>V[)+&&!?%V8TG6,U< M#1H\I5R0C U2XH-W[2AQ0H"5'/.1\T..&1)(Z/VB$&<]FU(WF]*D-(5/? JA MSQ1R'#/=_/T0BQ/!" E)K![Z>%,KZB <4ODLA=L+4A-B\LTUX<(RX5^BL($4$IM>W\!04!DM(C M.4$;7MSI;0+"?6JZ ECT=A/--..25W2^.-&&Q#1)?%Z"BYU/E<^!R$/U8.5: M0M:9N8'8!G:NH6*3H3>R*4_Z2E9W,HU8*/_$]9D\OE6B@ ?GC7\\!;V?9#Y@ MDCN!&.('P1!ZZ^Q^)ZHDI*6>KH-@)[DZ>[+57(XEW;.9?@9>:_Y?-Y%Z/&2G M9B)4S8?ID/!<5C-7"OTL(4H#$CL<30?QRE=R293C#WSZ;) A[UD@Y+OX.FFT MEXQ-$.WT#^IKQ\U8UGD([1W>1AHDF$LG]0P:)X!3TS-67*P:L/P+&_& ZZ!V@I M#'Q%-AD.]@J:7W('MF[\\$MLWHM @F+!?6^-*(K. S5X[(8#"H:Z]1FXFJY^ M(C>WB[^LD OS:0)R/40AJ/[F\NTS6T_FP6)/(P>>HY_"\U/B90.]!G8AA%C$ MWUGL2FE_:RHX!?\=V916ZG!'F9&"?-4'H$:\X&N2$R0%17N>B.]M%@K3)3?+ MQ1U9/,R6T_7\_A.97JWG/_.7/"PZAH>#M,#U?,HFH'C3:AWV8_;##&7)<7O/ M4Z<\8N]I'/QC]5X%:3I*SPC$;YC 9Y329\#G^Y,)T',8,D MS"?0R8>RX&K#Y7%I@2JH4P C7W)0LE^[Z5"#Q+ONH&#%^/@+^W"GE0R6%IM< MTSTS74^G\E40Q.2(A-5*0J3T/4X2I,9 /?%1 D%6W[ZX':? /ELU;BDSN)FP M'(5@"EC$$G8=\Y6:^HG-@.'W7.[9Q]+N;"#X -[KFL;+U M;62X->)\%&MET2:T.*'75/QW'DQ=-SI H"GN0+'0E'HO<%&*Q:8*V=L2P;/O M;N*6#;\=!12/T(7%FHYF1,B'C,S7L"=(*>57Y$A!BS_YC7XBT(OP5\]0J\7K MKIQ48"\3F(6#7O!"TPT5=D@HWDX2>\:U\YKZG4L:T*VG,M=&+,S T4B@:BRI M14$*+PUXDL1PZ4M8:9:#X64+-/F0HN(?2Y\H6Y9O8+)]>$QELF,IG.[@=O!_ M\1!ZL67N@O'O,3=^NM#*"]'PR]MZUD@XNA_I;$"XS0->\/,2K2*N:/)<\@<7[[ZJV,0$US4 M,-A+$ST*NANR8&AZY MR8-.B%IG!ADP7CL%-3>*'@@I0G[TF.(,%8B;.X).XJ OJD>;\SQMEEX>;BA$ M:$/ IBQ3DYCZ#),*VY+LDIX]T\Q2D=A-R=AS5G^RR*5\4NE0G4>Y_&*8[SF/ MGF_! ;LT>Q8>V!I;I,W:)-YJJ#89I5JTQH3O$9XEAJABK$5RE^.7DKKHJ]P) M4N;B1,WB(%G7%72=8W[C+U[R?'6($[:(1WS7;#P;&@HVV5JCH'J34Z);8GD- M_)D:8$:&?&%T2$9H(M)6%IIB6[%S^2S)\!ROZA A%_5UNKRO*;)--J@3KR$ ME6!:8GEJUHP#3[[-*U6+#IDC/L7:6H@J9++3RK)E^<%Y@R5Y&FS2$]K;(@IN M'0SHB=EDA6W$-XM#=90LL5)S5EO'JBE)OH_*JA-N#?936%O'$Z8BEWE?DCDK M4$C/4*TS=UF,D(GZ=E*D4:)BDX$;"=P^W,U)6&+2!CR>&O;FY-!/./L1/Y?3 MFGR/^74YQ<2T(7 .%T%E]FF.;?G%S_XN? Z\JH:)X^O,L1>1^:G.OBSR(1/9 MOIM/"HG%(6@/-[BUA*PS7 .Q#0Q80\4F0VYDLZU!YP2MO!C9VRPW_\\ M6UEU@SMM_ BME-U_'+R(_D3]S3J\DKJ9'GS3E10^KIF=-Q*=WP6J.5X]/%MJU%MB" ^L)32S&/7H RQ,9Z(:H5>W4M30F(0D @ M >HZOEVV>";J-(%30,]BNSQV/-,7Q_,A!7831B!S(>,U?52%OJVI6+1HF@FL M73KU).Q80$UX-%I& ;QDHA.24[[8AM$%T+9O.>TF?7E1=2I2QN"[XF8_A6/# MS&^Q;7;R]L#$2:;!!HI[]P!B.ET: A99;J.86J-58MMAKPWL&9EJ1F-".)4) M/]7("=EGI:UE+AOH/A=V#^A<5MHHJV4III-W[N>14CHME61Y"JF_U)&=N>!V M(FMRP5XNLN6YX!LO< *WAURPEI!UAFL@MH$!:ZC89,B-;+8UZ)S@.>6"V\_" M<2[X9GX_O;^R,1?,0O^BY_MB6^IKW1"?Z!#QP^%FL61AL!H+-?QM8DL=]K)= M6>E=!0@(RTW5K8EU6PO8^M6546UJL97UB6^8 Q42OBWIQ9'9D1P#U89T+*GM MAQG,(MHP]Q^]$<7+!-8846<)78M>*:@DEUN\=6B 9\GYA^E+AHU(^*<=+5ZI M.SKDL/+QT7YD2YYI_@P?/]\HO<]W-ANYD^/C\]BXG;9ALWRCUM\&SN[!4&& ;%?0PF1[WW#Q\)5L!L+ *#03]+(" > M]"(E.A-2#"&^A,.*X\]*".A5^B-.YLW-[$J\\33[SZN?IO>?9F0Y7<^(^#?[ MXIX__H3KQ$Z27#PT6+_XX/H'M@%[*L^QF'?%CS(V$WBN#V>ZRUYQ7 Y0'":& MB-)W!'MPF)/T054BN1Y@MYXOK,<1?)4Z46#0!E[-/\_M[.!5MGH9Q.F9& M3TZ0]@B^"H,X]+T-_X/)_<#FG8F9-AU.DP^.GS_EVE3\T!-MQ$ZK%3>GR^EJSC>$#\O9 MBMG3%"#/V'RNO=CUP_@0T35]32Y]]8EI_\.2C(;>6#D6(T4@Q'?H$!"1]QX.(FDS>CQIG#,_1<2_I"@P.% MDS]ICSG]TFZ,C>=G6@I8=A^&J"A>H15O-45=SGZ>W7^>I35Z5XO[]7(*6=:_ MS-<_D:O/J_7B;K9$WL$W2-BT5IJC6ZN;VK7-%-=&[6SRHRFZ*"N0]RP:<7UI M+)\X5=HS,,9T"WRT\6U8'9J0(<9[S4&&@IK2:6I$F)22TCP:,3T;;C MSLK<+9-S!=>EUS3:E=XC:5H$.E&R*D]K*GA#=K:)C"TY63,^C3.QL'%9%=?L M2Q3MVI_T.!-G8-]%/_FF%40*B1FO*1FOAF8U,*0H3,%'O=_IU=7B,^C)3L[246??"W=>1LH LK;YEWP5Z2@@ MJ$U+U,%4:1.ZAUV6"3GM%U"HV?J9DDV1(H([.J[O>+N8/%-_P_]V=J+Q[H:% M_PYAW'APA9N^9B?T10%C\=9$_ V9O3J[O<\??@%(2A)@%EKV'C],P8#%^3<# M/N+%\?WP"Z.>YIR/@^,1-I]O42DG*TK%D.DO50_ MTO;MQTY>ZCZ%X>:+Y_M,JN/7.@NI&A;!EC3PEL=.PI87SE8$4);4#AS6>S/? MKZ?WG^9,-\ETM9IA1V-J.9IV5T:8F W#C06K-@EO1$-J#&[(EZ09^-&SS#CG M- 8M_#M+:)=)01,I8_>N L8S'#W[95N10Z*8AXZ5FKZ4NA(LEU!';L&NN"I MD^]50MNB-EH?JP"U0'$:CWBAW9VMQ]SM1!G "*3[?KB3[?'L5:-/; ;'V=F; MB)!MY76P:'OW9J;J-=\AV5"VW?9$"4C6[Q!I)]Q!@*O%W=WM1\VQ)2QI6 MF)&YL JK:B: ;62F'-:4\W;V:7K+JR)8I#)C\0IV_[!;^N3X=TX"MG@L59-3 M-\3%4\I6PI65T0@110E;<%97/L E*3(_3:Z@VQ7]GR2H;596^ ?>%0U>7.2Q M[9+ZT!;J*HR3>/7L1/31B>DF:^K4E&HYD2CBWKJ7Z:ALP4^BB+-3[X'EFN:O MUHNK?[^XG*YFUTS_[QYF]RL+RK*-1;TLB]J8-#J5ZAD8@'Y".EF G*3=)J#C MN9[4*O8RHE%F3I>DA FG/"&<]@6W+Y)WTK-J%1QFANST$O/ #7=T[;P:[XZT M&*AO^S8)/3^2 RNF13.RGOXG=J EX;WYW%>'8I46-9STJN%M MT:/FLUU (0S'VE.)+E)98QXS)PK8+@HZJ?!5H\DV-/"(K>*:A*@T?%,!X[1M MTW-3[Q>6PD/#'Q&MV&4,;>5).^^ -3S,EF3UTW0Y0&DNU)YG/92GP68-;8(. MT1OO!:L[JC-"0SJR:R%2?G1G@(-WA&?,G.U'>=T%X?<:KN<_SZ]G]]?B5L,: M6E%]7OZ5\!!]7-/0U:L;XMEG',H:=2,D*\W#I"X=2LVC>GFZ4^H0SQ/ 24I8 MM+>VT(1,[DKE+?VY2!EZVIW<@N/,DV4A'Z S"> &.L]X,:G: MU)N8H&(>EYN+5CTE;\9#.APW94Q2AU)")8!K;3E*=QEMM*\5?8(89$GW8<2? M/-3[;#4XGATUB5"V'14LBKWHF:EG[&>?H**)+&:.V0C3'GTR M=,L&:%9HF;G#2C%)CFIM0O8$&7LU*NE^>W78[WW>>,WQZ\W8Y@';E>U$ZS9U M7JH##9Q]>&=ALSUY:P)H^_..G-9S60[.EKLO_E>?'QYN^56+Z6WV.BK[UVH] M7?-/R?S^9K&\L^!T>;K9\(1A2=Z2F.8+6 ,M99Z'+BUMK(BA+74@O#2Y*7A]@+:(S\.MVE$WOQ8CL5?618 MK"SD,3,>4V0\,VHG7MF@S#!13*L-:S5-Y,B@@P6ZQ:;6CZB5UMZ\99[W%'A; MSW78=K:@+:8!_<'(>_JE)&\4!NR?KNC4W<8XVY/!?->UF\C5UUW;T4!ZX[4+ MDY)G3[]4]+9"R&)S[DE\:)T5)/X;FF*NH>( MOS*KM\J6N#C9FM;"95D:8T2T[$Q+#AMN$#B%PNV%C?'V>MD8%^ROBYB-0N)\ M&*1"BE/ESO$O&($+H$ *$A9YF,%EQ8T);APO^MGQ#_2.%XEP[]8F&&B!CQ<% MM!:RO/P;(Z.L^RVYJ[>R8?B$$R E"A:O]/T)/, B7BFU:EZW]>!8K7B;12AZ M[ZIA$9OM-C'5:0VVHGJQ@VS')8K6&'0O\EBR>(JNBZE'VBR"):SN$=,@GBDP M7D.-R5BPE+846;JB&M+ 75A;,:E9;B99"]&,%.&7A%-B1.24?EE#F&B!=?8\ M#2OWF6X./O>OV_RHRPOB)#J(J] 1=<-HPV;%2<@6)NV%!R605X/OTEEZA,'0 M&PPX3T\1?4K?O4O?,.(_G$$; 1-(6;9.-S^#8K88"2*\WW]&G7W\^$:>:/@4.?MGSV5V[+ U&?LN=O;. MBY$=JL$Q[V#K1:C>OY;#(MV]UC$CN7>=@=MG1)U%05Z3,@->;-6I*K9@,R7T M?(\["",S.9TL8G5M3U-2*;T]D29.76XO3&O7C&DE/WVT>)XCLNFXR"Z M>&6#BPHR^-;+A5:Q08(P(?'A\>_431@[1S2*E[F>TJ=QM&Q_0Z;E/XG'> YW M^Q#ZB;')J0^>/+.=M.L$Y)'+>-@SP"1\HOPQJT?J.H>8P@2\0?A.8F_'/%3$ MV/($P!M\Q[;A@9/P^2]]!(C *9N\<$_%%35>#N-PEIS@#2D].I9^YJY]L25B MI M.F/]LQ6#IA_5'9-A,\A$)']*>%1%E#OF>DVO-[V*R9[(\\QYY$J,.N68R MO0YRD\%N:,PXHPMA \'3+66;7W< MF@Q2(^2.?$K:(@.E"F?QP:L'+LN.IFW@OIHZ@#\(V;+I/G1;Y MMKLK5>2-]VEL:XVGW%:V3'R2GO>F]"+G]LR-B%KM;#8. M+*P1#N8J#T($Y)Y1LL;+W(<\U4@W?((Z>A0S(C9XCS;BRCV%"05DKV#.HE:O MP_\XV%R2& M4>-TY[%C[B#&KR5I\H%+)D[DN3!GP.QGMA.+IU^<:--K>-%Z%!N\1:\3UB;P M:#F$E5%()QGJ5EGO;D^F403F*>I)BV'2P 0&.N^HI*>9D_NSJ)@O$8X<@+PM M+FJVW5(0DN8=JI=.0D\Z8>Q"T@;GTWTJY)ZF/3UDM]*58:TEY$1)J4T[T,4^ M36SE-P:9&K9U.?#:.3XO"9L7^@H^B:9'%_8XB:.&W5 HZ$Z#S;7G'YA?:^L? MVE&SPC5TF0"%5VA#"MLAM.=5[PMJC>DGO%K6Y<,>:J76,9=OZ9M:V")X@3.6#,(BUU#WY-2G)(PQ@_,(KE;2'LSERKO]V$LGC38 M.(F3-8XI,J 1YX?/VF/:38;$@AMKPHL%G 9?':*(,27.H%M&%,T$;/ 6IF+* M'403-K)/,&-/J_&N$C=C35P0+$J1$PV:C[$%B)Y4XW8S;TM9!N!BV MV2C))KG$QP#NPR"JWNF#*5!,78_TK;G+>OHD:2ZY=B=NP^W74[G77HLM[L!" MK%HFD[H,M9\8UY8NWTH])VXB^H\##=RWZ:L7-\VB#M,"_6\63*K9:C1'#ZL[4K<5R7 ML_6:K*%A@7ZV$;;13:H(V.,O]1RV5%J[EO!YL#\D,3?#CV8KMPS# I54"R)5 MP#HXKKJI^)%<%6(@Y",1"/9IT?>MM>A[.[7H^W9:]+UE6O2]@19];X<6%:_% M9'V_=%&<"AI1>_0"5#1'#HJC-3I>ZHM:Z26B#-R*"&P=.4&\I1%D(UO%< MMDWAUY2/I8O7C(U8_I4V0.MW"#Q%'6*JRMK=)WT4D^A? ",[BBV)"N_"@+[= M.=&O-+DY!)M8NY2K@/'46\]^65'ED"@JIV.EGA4$8++CT&0+X)8$@">8MNEG# N"S#XGJ^^SQ7R LSU?/)+ I/4N[,W+)0GR5KRU8\BT-R\, M2/B(V)4+HTU?VH1WFS45@JGQ2Q.X*TU@5)G H#R!%K3MO7+B9S8-\)_9/PX> M$ZR2\"E:P"NFO 4^XN..;86LO/1HBHSS[&,[[NIO0#)$KIC\'R42$U)*XQ5D ML)^"[$M<%_Y!"Q+(+R,K.RQ>T\>D^$LQ*^;HB.\@MQ2Q\ORQ(2[.J\>MF).\ M5/J8E-J"3B1=0['?-3Y-P&FMR>>%09//7D0SN)5XHG"%CT1V(#P.,5^V-?"( M+J))B(I/4 'C. $]-W6C2'OW8:RQT$E3:Q(M95D#0>0%-&WKOZ2018*W+FG$ M;PPQG5L\^I[H_C][W5-H';#V=CRMM6*?QEOH>93>-U9,2%_$\2RKW^DIFV$_ ME%%LMD_6)4^F_)D]64YNIS@#,V M-&V"JS_JYVEP3;F9/HW.GJS6\-,V^WEV_WFV(C?+Q1VY6MROE].K]8K\9;[^ MB5Q]7JT7=[/E"CE/%09)Q,3YBY<\7QWB)-S1*.^QFL^0&SX%WG_1C2I[T)(( M8L:JD[B5M%4K"CBYJPXLUC,Z*1'RA5$A&9E*Y^#L<:J"%G86JP_!,ZFB9JDZ MOYBQI'!!GFZFO(7.9V@*RGB'8UON6#(YCM?T=J@X[UNT%2U[ML(4#^TUBG8, MUG=SSWG')*9:@A1TC=A'(7^P(?P2,/5.&\2Z)<+PAZ",],S!B8)GZ$3@$TZ ME"F0G 3B0P1]29G]QK6?MG\O2[=7/$V?HN(<1S/^5LC\%X"+SD1<0H' MD_F2M@1P/$HW,3._T@X;S;MT8;.>_4IUCP7=AV#/":9-'DG(2:9OT?#W+DA2 M4"4<&,O!]"+[/1%4B"!#!!V2$6+_("52 AC3WUCQ@Y]Y[F.5.%%R[2144]?; M]R!GG .13E>O>9#*".>9"Y&(,& ^!-Y-8.,1&-"*JF>C^3ME[JVWH,Z&8:^^ MGZK&YY"H:TIC/#KNKWZ8/;AW!D;&/G0A8'PZZ?BL3,5RPZL+W-H$"Q+V&N,Q MCZ>L+@6MA-:$KZ1Z$HZ0=_8PQ5 M)2I_,;X*U-F"W[OX=-0?]WC8VB\);W7QE\B8E^@QY][N%YS/%&S#%WB_8,%6 M^1>^Y;- MFL<@Y)=8=?MH0UP;GH P$$[^^H,&$?GAAT;.M"\@*&]8-VZ[QS$S?#E',;_* M$U)7+,!]"J.WQ;9TRU/7LMX8&\\$6PI8-D)#5!0S;,6;]G;U&\G0K:A@X"\> MK9^=8$UW^S!RHK?Y;N]X$>R]KR*Z\9+;,(YI7!2"SX/LR<14$ \Z<,WYF_'- M3=P&' ]/Z0>?Q+*9##88BF$-+$W-%,6+9 D;D.0CDF+("1&#$C%JZ;(&E 1F M T](,33?XQ:#6])#[B?J;Q+&2,)=3M% 0-M+K@D)S\#,Q"E;B1X#1=5-6*KI M*R!=).%%AE9JTF%CRZ:F[7@CEFWMF;2;\084BUHQ-6U7-6'S:%MQ@SXI/0O7 M_R638B6X2PU6G*X?R:,'Q;DXTL1Z=D5$!8=V&43/D"PYS;C@N@WOZN:.510W MP'+N%$;J;,SSA/=,DBN&O* MGUJ^HE'B;3T7SIM@3\<_E$C4F@*.(7<4-+/OENAH9M^)SYK:952((\@PXV=: MS1271'#)@.WZ^0/=&3EP#QM!L-)JDVT.'IW@5U$EMD6\'=;SK*1D"- A*0XI M4R*+;?8YHJ\92!><(#@X?E4EN I<7<>\VM;II]Y6ZJ_29V\+-SH/W'!'K[T7 M;T.##=N94A;'U+/U+7%Q?%1KX3+O9(R(YI=:+!Q#(9TAR-F0A//I>H.NZ:U9S]0Z6S+'K]-< MPGUN1?%NZ3N<.LP:SWK7PY^B\L&;V>4Q$P M2(M'7UP.IX+.JUX%J]\CJ:",R5P%RU^.KX+UT25IO5=L%>R!RU%B\,^K=<1? M;'F[#Q,:&Q[:-F+A1>>& I5#]084E+C=B*=Z[?2*9&B$XY5.;LDO A6[Z.YT MR8*PUSL:G0K#*R\D'+^DL*;13B&]"2)B<;BQ6)7R\$8LG )Q0[:ZO$LR(8"/ M727>5<#ZNR2D>)>$)#K)++"N/ LF=OO3+?OOU/?#+W!=G,$4%5Q7ARBBP?&I MVF"CV&JWG2?,W,A;#V&A1^@H0S?W4>2>D;X 4X)>=N,A :QQZC?>O%(SJL-/^_&S;7_$09T MB.;,O ?7V5;:L9WLA.0%6@PX'O+-BB$GL7:S8HC!\&Y6#"=-_6;%U7Q"C'Q!P0%)62# _D 7'P] M(8]\)#+=_/V0U@! \2X;&3G>&GM&[VE"#L5 OH00$&'*"M]_% M9'JS*FT><;W?0Q2ZE&[B&V;.\*LOMOHW+A53WIX,GJ_J*G+9!;6E@>)9NC%9 M[RR7DB$PC0308'VW_R7:0<2/4_$W('Y<$M^I)8CL#&O WRVIZSMQ+.HM6016 M>'"8JRE;(=()6FR+*6)>;K%M'];T,)Y]84UODV@2UIP\F%5A34_2*"Z,5@9, M2Q+S>.5XV'+DPHT;1N;K=>;DROX-5GGVD;WAS5 S6WJ.XXD%3.P?41;;1/EP M+.X)#WR"0OY#N)4?PN,,(C]ZK73^^>/%ZY#)&B40Q5V%<7+IQ%X\?8QY]V;% MCW$R5<0'M/N9D,HSVZ>1Q'F,NP^>:T;#_V.VS2J]ZIV$)!^)P%"-Z1?R2\8( M]B'U,/.H/7?K_S)'0\ZNS'UV$0Y^&KBVLID&FQ7;]_DT^P:>/_DK=:)%P"1? M?PF/)FZ$\7 NC8PRB=E%DT$'0[N<,H)4LG4^]3PN(UN]8 L7Y\I;GC>RXY4E M< F+!4_@P5ZX!^/OJJ:/=3&NG/T^"AWW^6NDJT08JFIVE'&TDF9C3$@^/O^Q! ?% MC>QKKBG !6%L@%8P1A"O,.'[@@FY/G!S#L5\)%]"KOWGL@ S.9FP;%39'*%/41C'144$Y!+S.@=>C);M$IXC M6(@[I:].&\W*N+F/"32,F4\9RM9X^729%,=3>352XKQ.Q,OQ>4$.'%;!.ND4 MHVN#7C@F^YKW:K$FZ*Y$RULOBD6M5>MTE94AZ0!*85KKFNL#'[E<\29J6U.E M8L.G!S%Y6BAEP>[PS*GF,1A%KJC MP=[)4B>5ZK\7NVR)@]6N;2[H/2QV9FHQ['('.9=\N;,[\3+([#8M>6>6?S&; MHV[;8%/:UF9JVDU.B_2-&6$;Y@\L[#YA($L#9E/EJAF4#=%1/KNSU#_NYQIA/"]?Q5M62+\7LN8AK1] M:W)3'80\H73IQ-'>R>+:M63II*'>SP+;6)/P6UIBI65*65[DO^N4D!?:?FJ4 M3EQJSZ(^:3 _\'-EN;4M+[9Z9D8#/?Y*[X J=OER4,07TS6L5QY(E\#AO(>N M9*3^+#B 7@!L^8%6['?.V_(/+2#+#[L@JWK^3/O4=?GU7=XY]C9T@IC9>-J< M*7@J'HI8:QX3Z4P-T6!.FX"*374CA6-VI_!:U^R4&L03&;V)Z)(\(9PF7PYS MJJ6'4,@OG##VI=3SF8]Q3H;*D\#DYSP73-XVO ILCHYXOM-2Q,H1CB$NSBE- M*^9D+_ZTT]?;L=X3;CYR.5'RJZO%Y_OUBDSOK\G]8CU;D>7L:C;_>7IY.T.V MQU+#1X5T5]J&S&T((-ID:S$K5FF,C6.7+=FK[YPDYC>QOZOQR7)7)3P$;NC[ MU$UX>U G-7E;HFCV&WD)\S0OO&,KDP*XG,8Q36*SP+F9@ VQLJF8\O"X"1LY M(C9C3QOT"1(7G 8IB!!!Q8X83R/FY=N=\_39*G]SI1P%/;#H*6];8% M.HKBMN9/MK#HM/7QC7 RA-,9[NG ?G2WD/C>V5'Q'%[[F9-3L5*'=0(;ZK&, MA&VZK.:QI3Y/*MH,Q(9\-;&%4J\C9T.!'_T#874P/+54L5S6NV,8%,62,U'3 M' [&=0)7%:X.<1+N:+2D/C_!C9^]O5XKM!AX"F(@2%E7-. H:M/(3TV#,@P2 ME5&L72V;,GEFJ%:NB]H,G@F>;2M@4_ZJ:=-A3Z)N,"%MM;//,=T>_%MOJTH MF*'::&=UT,XEIE6F:G6NS:.:^_"I1--W-=) M^Z-;:SBE.TEI]QE9]>@IA*PTK@:Q#6 M#]N$[ZGJ +@)R4K3+(EC:(8,PS:3RUEJ;5X,N-*, MOA82Y[)= ^/913D%&-HE-RT_];.?9TI2C.P-3G@8#.G64TO>EU=J/COKZR>Z MVSD/X1<:K=[BA.YN?;7&:F!Q=+:1^4QKE8!H>MO D51S.0[A2$1@3MA)\>EB=IK\G+_:2\)89G7_@S_^&X>:+Y_L-3[RU(X$7 G01M1P-M,%' M"0S:,UA32/ENC'S(Z9",T-?VO*S6B]P;NK7XB.V616Z+K:AROG%2-UUA MK08>SP ;A2A;FQ(8Q;0:N*GI$\!#06Q:EYZAV%$!6Q5#DQJ0 2+6U"C9KI32 MU*!P*F@4;-0+9XXUQ((,0)5Y[:9?#FJ+DJBW]C(X"Q1%NX&OJ8H5Y9MEUZ@M MU9,!VK$8J0OSZE#HRX]V0W&T[OPB@)$U9$E?0O^%!6-57=]UY$%\&=\_;#1P;\S\ILORDB3NJ_G5C9.8 9%MJA0!OV)%'+ MGO$$[::(%VS#:,='@5:!"=,LB&:2D/AB!%BM7!';4#X(//K!AB$_?)P0& GI M3.&D"1#0\;$HN$';S\S6(0VV9$N()OM4!\,+UE0LEP.U8QB4($W.1$TO,C " M<%;DG,J,:S-.,D [%$.=;:I#H2N'=D$^4@\K\DR\72?=+%YH%'A/STG1FXSQ MN JW4?X-'.:\KKXX>_A&NR<\D29B2Y(^)J/2I>04@CB-2T[GN!Z("IHD1RWW M_N+=@5>+FR7R':!;R5G4;<-]U@8<.]*P2F&:S@5O/=\^KM#KO+,(IX"_(K9\^^2=Y:3(6:A%W&U"1JDVVI M\*TQ-3V#II8'W5$X'9(3(ADE"PVQI="%3/E+ .3 5L4H:X,/WUACL="<_ F" G]". 4B M2$ 6H[(S03;,$V6=P\,5-$Y(!)'ESHF>^!,\A!D1C2 *C087T> J/:J0W3.\ M$I]Y%08)/^5+LIB33E1B TOSS-@]*O"V!^QCP,%<8 MD1T\\ M"=IYXA4BAU]8Q$IM#_1KJ'97!6V2$9^0@KP]H=^0DU.2MZ8'-A1SY"<=BT,2 M)TX 5=SB6JVV+D&'AEWDT2Q2O>!#C8-8_-'$E*(0)"X98PESDEZ7QMY?G2Q: MZK;# K,/>S*ZFR;OCJB%M.->FJ0;H@;,FCMI^BZ(XC;:GM]&BP6\)3?1&OA^ M6.&Z_D\')W+85H$N'GWO2320O'R[AT?6=$?$S6AXKM]4I++K;\)!G*.-8H79VIMDIGQ4'V3?;R M:"ZC]HQ:#8[:NT@KPE'7(BDL5K\B#3.J\RRV57K*X+&W2'',;&)/(PP M!9Q!)H"RWVRQ7>Q!X=?A[)5]L%'&NZUH8&Z>.@A;W4FU(("TK6K-H60C C0F M)*=";D5F(R<$>Q1!"I)"@ACY)8D.E&P=/T9_A;"/62BD]P&=.?V0H\4@,N68 M9V&Z\*8J\SJ)\F9W:S+6&W!-Y XVG-.PV8R/F#S9DG-Z9VC,37.AM>K!>=,]S*X"MD6OCME7*U0&:8$F55G1J%#JKC-X9$_<40AN!V3?) ." M[O^%@FW2S?2%??I$EW0G;O'P+V%!494$M2=CB[V8BZRVI&8:%MB8*9/-UI=1 M(BDIDM,2$#QLLLHT.\N>B^JDH@K;370"XMOMM1?SUVNA;NB!LJE5'NVV)V.I MW6I$-K9;"0W[[%;)9 >[S6CQ6C^VJ@IR-ENNN?0UR]UDPIY<$->S\5Z%L9EY M"D!;#+#,MMK$ ,H"(RK8:#83@+7*!C3,WQSXN0O;J_/:MTIDV7]MQ.HYC!)8 M+I=PH.]/H0J.Q["SUST-XN.,FAD*3K6$J2A9V403/%K]A!ECTGI*44)#8J!P M 2$-B3@-4=[(BXK$C-N>O6O"/*]W:/ M? 3X.AN"A,486.WL3Y(_$TT@DQ)VN;P!T5.<(M[G(&;?Q[S5C_ZWLZ]**+U^ MQ_QA&+, IT4-2PW3KEHAA6!-Y4)':-94#$GY,BT:RBZ$9MC0G2K;I5'U8?(X M(7@?TA8FEM].H2FN31O06\]YA-L/'HVS'/;U@38\2M".A"V;5C-1U=M9/;X% M&UT3!INVP*1$I#AK(8R./4\2]"\U=A<%R:E^)M9;)I0(!S;0)/2&.4K'_RMU MU.U8NQ.TJZ*EW30TU;:84;.FRJ4-N^;U+CG5PKXG)*<,13""-@'B%M:[G#0K MT*"/?(@R#.QN0R;B,6]V3U^3]1?JO]"[,$B>E8V(.I.SW.@U4]#:Y"6T[#5X M);.-*]J$I/GANS0_7%[+X>&AUX0(LD30/0=+-Y\.9FJ_/P_;!F>U_A*>."TY M%?LM^4C@+@:DZEJIH#9SA_/QUAOV$3V,"&"S'F8:EGDKI8* M-*PWU(+)ONP4*)Z1F6HF@!G-GX9XS4'#W#J\I ^.MYENF9 *V^M*!.N5AZ[B M%B\^M*6 ^/I#-U;K78]$,4FX)3XG^;L8VF[EISGELY!M&%4KE?@GX5%]_(:9 MIP,#LV\/4?),MB(C]08FNPU]/VWR=8@B3J+X]ALR>X77:2F<:S,"WHXXP8;] M?W!@$&P8+]S$Y,LS#?+OLP\=MEF.Z#Z,@&50B9Q^G+W' R)N\VO+^S#FS9[( MAG>O9G/N\^XT^WT4.N[SUVAO6O3TLYJXU"0DCY0 Q4GZBV&[U5ZG8/U,(\KE M.H\ Z,0EYAP"GE,"':L#G+X"FX'M+DPJ9 "6U;>8OT\0$%J$5%*ZJ.JFK+05[GVHGQ(*IMR8OC'ZC8*=FSPBE$N1+; MGW;RYTC6V<61. ;FD6+89"45EEH8RX2DF.@][SL)QI>/;#L.6W38=G_P K[5 MAP6%.*X;'=@_LTLKR)4=>BGS!WZA8B5-)SRDV03>B"GV'GV&97@Y\!3RMIII M^RDR-VASVA::?EOFNSB)"5F54UY%I[YL(/)+,12!L>RL">UMSMZ+_[EG9MEE M52_C6>3M@9];WH315[HXV/$JEOJ?])1U%/$D5 M\T:>;LB6:?A^0[?4Y=>\"?W'P=N+I_\8'?8U;R.0N-]\DY[=\F>RPMW>IWP4 M>'VEQ"_2>?9)BE\P%;ZZ8&E%^ M"ST,2N\57[X5(.EAX)2I[T9TKHU+[P/='W1OR_<_#N)[\T--6N4-^KX'P7F7 M?A@I).U6&)&+1Z!"RB.5G]XFCV^D#)<.1_AXD[23=#RI/LHE1AW6UPA', LV MNHAIU)D\GH69>,?KT?&A'<48L\'BORBQ=CXNZ9,7!"93_!,L2/$\$.O9 MIRB,53<6!QGI?#VY9N+Z].628<[2FROE&-2?BU$AGA;CPB=L9.0=\,ASFGJY(,GHI('R+/5=U2&6WT\W5F M+2=XH 2@;NBS='RM9!LO65A[M"'CAG!VWE<6LM;ODY+6MP]88JZL)V>2AU\^EOX MX_/(PC;-6"8?JN]MR<09N]].T]VK!V[%P7DZX0XB#NN'=MS3R%&"7TN.,1^;9^RQ=3(] M?Y,ONY5Q<'QXS/-[W6\W-B?(CA=GXFM.>%PV\!PRAIR(1Z#%PYTEUOASOS:$ MPU;\&)HYX\\B?X"FI_'7E9D^;X>M7N)4<_=QH%^Q$R?GZ[!/F/@^'78'-L[2 M87>6$S&:?K<.N[\?P]AA]Q5A2_L*=-YGS/YQ\)*W.;^RS/,^JR1T?Q6SI%[5 M^,'EM9/0&\>+?H:VB$>_DR4\X71#L$#PPDU;P1!:#P=+))>[<")>1A 63Y$OFHYS41ST!G^+I@RWC5'0V M16H18?=/=*E?92_353:%JZRR1#!(2AP2SF*Z^I9#^/K2R_DDP"@!3@EG%;'/ MA:T_D]G$*:H@SV0A5D MQ.Y[>T4+Z$/?P,[5?B-_-F=-]&+S0F,DN;@PNMAQ:VS=EB-'.-Q79 M,(%]IAL50YUE2E$KRZ!IPWSD[-XO]!L4H]MRLVW<>15S]'X>;\63#W6^RYUNZOI$:< MSWPNSMMEY0Z[6L0\=MS>-/KY.K:6$SQ(7*\?^BS=7RO9QHG[LX^*NOQWZ"9[ MF/?J!9%WXC[;'D)@,/ .G&BKXX7Q1S]O5WI2-KK_+(H-:>=Q]FQXX0/UX_>XJ!A;!E'[F-O0P Q MW=C$<_WXU;RPGN/]-OL?<=2[91S@/.Q]>B37M['_NN M#QC0,V8=&#I?1WSZSS#*R<3[=->GBHMW?O&;<.N]_SSM/;T]!R+N,]T MY.@V)LI^6&LH7U7]5OW11W3&?4]2Q;?V11S'5?;+?=WSI?3S(]63>M:17_A8 MV,^]O[-)&\51+9G'CCR7>5E>L_\Y\))XN?I\1S4/237@X#D4(V'*3D*+@&+X M!AQ)7H3/<-++)QS+@OU.EWS4)WO;\-6R)\AFGYVK3TDFG/J9Y7\OR( M[?[C>O(+#$'X&.BKFK6S=*8>IG9;;9$\TVC][ 3'&YEEZ/ML2P%(??\X'9DX M0\]UTG3WXN4Z<7!>'O$$$8?(BDBNQ7*&2,(X,KKK17X!1DG*Z=GZX-Y_EW,- MZ\PG8I@W;-N/_ZY=[0!OWK8=_+TZV*'?R.WJ6VVI\$2DV*S^1OPHJ(D"]&6=X/Q9GX>QX??AA/-"XS0_*B$@_?H2I43/8XWK0W_SARJ0CY$ MGYIS])MPJZ;S7\S*;\"YFE]6M>*4M!V7[]%)G_2#C7P"T(;%=^;L3Y@#.TX3 M#*NR?YD^QOR5F]_ V6T//V7;6O?_7G8L_KE_ZPN,K:O*;W8I.;_UX[=Q6MWU MA],=9-_DKSV0#[!<\'W*;^9,NY<9K1]W8TSJ640V)M-9GKQ]\^2=>02#W*JH M?_[>8RR#V=ZH;^;>651C34NDCJ?X=D0X%IWV=_T)TW* 2=O%UX(7]HXG1)S) M=5T3+./MW%_P/TS[>WCBH'USB&"GP+XG8AMT]H_L#?,KC+I$XBQ^N M5" SZ.(01TEI86!_%8L"^^-O:R^!)D#S8..]>)N#XT]?O>-V(AJX\5UE(]/@ MM91 HSJ0!B[JL3? 0DQ=0)-? 'Z(OD=M]>(O7O*\I#XWH?C9VZ_#69 P*[D. M=XYWO-/I1,$273(35*EE>G1\_3/ASTPS!0:";LY>J7M(O! MM$7&R=BU%R]+J9ECHN6\VK(H:=JV9WQ1<73 2?$0=T^CA'D@GE$*X:]LE#3. MC8I>;S'O]7: D9!23B=/PH.A?/W;WLR)8))CQ@&/ET^RQ5.(X=CFZ>)GMMJ= M$IKMGLIR-UNFZ:@D+X&PW;Q[GZ>,8%'&2DHT"2=*Y-TLR2^",E8U\;#ST5XE M^O>(E=9>=BS28(9U\NO[ F+UW=E1RAB('P3MIEK%:/N\M?X]RZEIGH)X187\1 M@!GNE*3#CR\]$%$!X2M _5A##H&J!-K#B9(:]'$D(2]W!1<# RF7SAH$4NFG MG-&\ +/Z-5X9I(R/VB\;?.L@U0<:L2?6':Y^%F1KE3SOT@%7_Y2*-T4QWN-4W#*2LRON)40-Q* M( Y_OFCGO'J[PX[08E+V^DFQVPWQ_X'NA\S_+Z$V$#"=@N!Z(B;P+ Y[RN'+V7N+X7-9XR3;-T0O=W(31S0%N<<"5 M/3BD4TQB!SIXOJ2ST&6'T9H(BE?HR&5-@P6=='/@^%P9F75OPXA?7 9,9#/N M2]+BZ4!>0A7#O]RR]%%*T$QXN^,((6SZPGD\?7$\'WP2FRM^2ZMOC]DXW!G& M%X93V$NLT3#6><4=1L(,$8/4'@?-Q^8FS4<_UYBDVZ0V^CRG,D,\*]3_X4B5 M=^ZFV8B?@PV-9&40:4.?:]XP0YI/[HLHSB%,?].1'=R<3A'ML*-M2)B]H#+(O=HT6;RDFX,+"]0\F#X]1?R1 MF;R)!7,BQ?4$V0%_)S)H=VT[BURZ==N:!N;]VX[,-@44Q5$#\_@E!M\Y MV0#E]G&P7)2.8-&NXO8U'P4IDM,B\X"O_SG%\J,4$%>4;AT-:="+[9TXVA9N MA^V2UD[T1).C7918D+73U)(2MEEW$KQNV:W(6&#<'?AM8=_,E"8AGMX=^Y[G)N2K3,KOJM.!*/(C5Z0K>\B4M*(NX'!)N,DS< - M^V>[O1^^4;JBT8OG4GEB*F_PSV)XY>_OPKCY#Y,_DJ3)77#I\#[KYH[ M'6$\O$W'X)-8WK,,-AC*EF=@:>J7Z-/Q2#I@)9%H1?4 M3OBDS1US&.H$D/OU;FVF?S*_-%7^#?D'E)2$RN2R9W/ M-]/N'S-1/T7S5T'X+,Z#)/*"V','::'=:N@S+&3H,+6]%#6T&/>\"AQ:"S9$ ML4/>G#IGH_R20<[%>7>C/GVFBXG(L["P-2]G8N.L:A-[2W[J-)5>TQO%8VK& M.U\WV3B)??I&Y6!GZ1 ;I!G4"U9>DGQ?WJ_MM$I<7EB0J+H^"QQ>EZM"U74! M2B^J,Z.]-#/0@&=XY<]X&GNY]]ZC=.C MV^OW40OG8SR$\5N![R=O226B>*[@+@^39?[ORPQC*U2+/ MK=5JV<'2F3T!V?-/=^!#5#GY+Q0+,LN-%H4E(MO[! M30Y0()-6@SI973$_2G_)A821:I3$#I;%8A"+ MS7P(9:D;$K'A^ V B":'*(#2.DZ(TPY?: 0#,1:]K0?5=SD[3I*/"9W&G*;Q M-]YV2R,:N"(EP:NO'3:BXQ,_?'(B+WG>Q=6->#KI>_\0%W6 $^(QV8.WB6 . MO?;:4G7F8Z:=(97QQ&4:3Z1PE7BB7*-5XI!D+)*"1P),9BEZJ/M(^20IHT1P M>HXO9 [[(Z53EGL5U_'=0_H2$?)9*3-6%QK$S .XP;QV7D%&.(X(7":RF+[D MAFXH,^ 5\_4'QL-;!5AU:-('9<13S?XFIG)4>3I9G//'OOBN'RIFE(F )@Q< M.)HJ]0F\P)P.0/(1CI'R3BC#.B&V(CV>&@\U8-@EN&.U#6-;9.LLG(6&3 MP/_^X,194(+\[&XA3T7P_..9.,B\I '=>DDW3]/S&'@^9Y#)*GN?7@= \4,# M2-#9(QDZI.F.1>#X_FB,F8.@ZP Q8[[9*7FFM&;!2G\$4M)IL+EE@_HYC/(. M7&LJUOF4)H$-O(:*A$U^0<_C";$()\RVIQO"29?@X9'H,4R^,07;SY0(00LS M!O$"FL &?IOZ/F[2K+[TP'C)".;V<_2A&I(M 1> M$TO2U)K#51_4XU N$08=81OEF#P*"DA)G-8B?=8)@9CH&$D0:W(0GSP_\81; M/6&_5:%B=VY!(G#;/$*)A+4Y@QJ/)ZS)G^:WZ[DEBV\_LG.)!GC6UH"Y^Q!. M#>!>[Z-/T[W![-6E<9P_D%U)L6$,O\79[Z69JUB5^3"? ( '41,JF1) 9 MKR=XC'2 &EQY$-MSP1TG*1,]7\@V)9P!'GAU7J\BNO$26=5;^4NDYUIK[.6O MLN;?X#V^>L2")F2"7],5L%BOI38QNRY81%QT>V$3U"K=NZD#5WKULGVDV*P8IH3M6GM;,MU_W%W-AH_<"F-9_N">O+,503? M%."9/R'.YN^'.-GI"EYL@!,_ M1Y/7S0K_#HJU=DX AETNGP:C+PQ<'+PB=PL^1!#7IQ%_K6I$,56-6(A]@\T$ MJC0/UJ/@=! VX:E>KB.P\KTK&.0L2VNFJ.KZP7$.4KI)EDED6_G10J1N@R*K[[@R+ !JIX)%?.*;Z M771D?;OU CI/Z$Y5XF:$::/>U00ST[T=U$C++^+5"1DL*=N"RJ7VREY*$ M(U5>:.1F5+.[E_P:E"#,(2A6EK$/Z3,:T "],$,N;NFV7$J)"%*(&16[Q M"_?O@J[3T_5[FM1=*# CD=X !\?5& N3N9=&!#278LB9YO@AKYO@Q<;Y(E=5 M-227T56Z#(\P1");N $7T2^<+)?NM\(-A*_IEK*-Y*94\#X--CSY(E(XU'N! M>#W=;BK"M-94\ +DC@*7@^66)% "YTX\UA4XI5*YQL'3;R(]QS.5.:T)2:DA MIT;ZD7U>JD++4:P\3"@.6K-CD7:I61F^=<<':B$-S@WJR#8=&*BX.^&D +X0 M-(M#0DLJP$^=A.QF::0Z DQZ*BMHO'?%!DIK7.-L7\>8.OBPR(-.9QPR!DO\ M,2S!G230Z)4Z_LVNGB9(=A7L1-)6W!WK10;-5J&<;*A=.LM&_B>2CRD*J@WL MRH)+:L/,W='ML?0L)<[V],MLA!LV@KQ>(7=CEMR!&V:>KJ5J,4@F-5LKMH=@ M V'<0T3A!4SU7?06>&B94W.A2AG39B3,3*DI=WI_5439;@X^76SG M_"T6,&4AQS*]_R6,,+Y\NV*[B:

M,=NW:HC88)/.Q:)$A,WX=! M?D D&$[K^>XH/).K*H\Q0D6L1FHA6J419!8BUJ3@Q2+Q%+;4[G>&:RL-QOB1@O.VI^.[T!DO_.'C)VQU- MGL--P:=*LY70B V3] )4&B/)07$:(.EXJ9]Z<6@BP$OZA)4EZ29%R0X'0>CZPG?.FUXY\7,QX%6XVWE2U6Z QOH2!F,YL*\62PHX #L,TO\@0!QVY_UC3:"?-61Y! M8!U>2!DMCBDJ7R,>2$CXJ#<@8%^)@X<,>@)GI;]["/X:W 77Z^ G]I_5[Z!B M=^>P[T2_*&>WAUJGWSU\_.OO[S[^"Q)M<$\*I3:!KI"!(.$5XT=/U#_S1WO674'R8 M[0ZM.(R2SDI3WJP)"3')8"1.)=>@QE)*DX372#F++M-P/UN3 M^?W5XFY&/MPN5JNOR<-L258_39V,K!=D_=.,K-:+JW__ M:7%[/5NNR.*&3)>?IO<3(*$.*O2)^!.3XXL?C'Y5'Z MZG5I3/R0=9A)$S/ ^TZ+)U$=?H'?EOAV&B3>)OVU5M0]1%[BT7CV"DL!W4"5 M\!7O?*<-<7F_9''L\*^IZAL?WW11K&\?IFO'_'T96?V;")&F+&+?,I< M$2J)U9_^X^"]./[)9S#8#D?[8%-/M,_6U:@?=^J%\#DZ&?UK+OUX&&L:B(XV M5V77@KRC ,8?(L]5[@9* (B1?(W-2A2>?XL301\-7X]^^3K*(9 74$-6]UI6 MQ^EK*W;S8"'7WHNWH<$F-S0X?H(#*H609JB('6Y;B%9I*B8PW_KDB=37G^2U(6T2]YG.*B M(:8HJTSJDS9:65/_0M0/>PYPAR%]&S ;AL0B4WV ?RC@?D#^N!:TS#M&;D"J?@,56.P7-;KLG MNDA/>O4Y*?EK8'T0Q7M(K#_N-:XY24=);>/,W?*0.G%O^I.657 F-M2'?O5C:@,$FGKJ69%LMDL M 1. 'O 0,8Z2DM*POPJ%87_\[2$*X4VB1;2BT8OG4DG#"#78^$K2Q#*HAPIF M5,70,U%3B114N)44/!ZN 8294H +S7B1-GQH@$55#S7S1SI2!\12%!4GIMK2 M1S,':>S_$'ZAT3S8'.*$+;[I>-*^#(W0.'&Z@0!9]*T!18NI&WFJ:PA@$"]% M8:&,P$&*;[ORGZ&4=%Q@#?)F#1_+@P*^@/T#'NH+@T9E-T/#NJIH+E)Q?[$9 M!_%2HRESNF=HO$!<9X3@:R^>(8&J=1;Q>SE]XI8&P#:?$\0N4$D9MX5!#;^K M&U \RS9BEV]K-IRF)YL6PZ(M65T0[;ZL +=C-IE)DY9P?08*#IF MPI)J=TAD::8^PN?3/1A;L\,=C=JI6B,6YEO11@)5WXK6HB"]%6W D^2M:($U MLKXUI+#NG+^'4<9:K,AJRH!PDE9J=K-L51UB]#25B@6U2F E,.^='5UL*_PJ M$Y@:6!Q=:&0^4PDEX.B:T<")1D$&RUE6F%D$\C:R.D"[2Q+(X="R\OH MV*G]]AR8N)D&A %%2JMTX#K76P8^8"ZRPMGZ2VBFNR5 "W2WQK94=W,H.W3W MB)TFW4V^A#;HKAG7N>Y">XZQ=)"J@-^EMG7:[!!9PE.GS,4*,6 X(5 M>FS(>:')@&#+IK:>9+RD@?N\D\3;=). M 8MX@U/'?.4RIPP0YUZGFA/),3<'LV1-G(H^[W'QXKA66=3@B%?Y&T2HW,Y7 MP.)MI4< M/= (/G">Z$=3P2LH%AF'1!2M>93@[3"0&D,&)L([$*18Z(UI.DA40,!ULUTE M\Q03]D=,GP9Z4D3<%CPZEI)=054!XF0A]6QG.4@Y%%H&4L>.YAKGD3X@)2&[ M,+_8DFHR$O->9,?9=QM9'[F;[$KX O'<'G];,J_4OGQ+OS1K&=N"D@U]85L+ M+F_^:DP&N<-K2SZU;5Q3<)(3(R5JO$U]!M%TQW*<.-/V61C'Y+.GB"\/,0NS MXSCE3E:H98B#:,8FPE0,5H> 8YK-'-75+P6QXB0D949[['$$@Z@P,F8K"E(& MP%&(.@<:!1BLB&M-?0I-R0Z!)UXLCYE;BQQQT><0T<;K>6T)(+61Z21FWB^F M%39>8Y@.;$H>+#PF M?Y2E2P[^H-)6652L\78CO5V,*%N]#W-IQ!GBA35%FK M '&J:_5L9Z6U?6U"LX")6FJ M,*BKB16%!8L]A=1B\)1%%MKS/B4T7F#7($ YQ%. H@1[6EYJ^I-#DR( Q+U$ MWI<SYX:A2@;D1(8Q7(:N-&<=+58Z\#QAH9#;!!&U9X2A6$=](QJPL'I'&+$EZQ_!$2>$H_(F@SGR MA.3HR";4@WS[7#Z:(1.G4;R17FI^8=R$T=O2^7+'@E+H<:5^?%D*B_F>LH;Y MZA/)$D"D5X^5G$BZCJ6P$\*@20X^(9^B,,:VBS:2 /N[#(9X&2;VXD+A19K9 MZYX&,;TZ1!%5/A6H@,5<0C3,5U<-"2#20J'D1.([.2Q)@27T=)6T("8=A6UA_DZA+V"L,H F8)Q"EV;VLZ(6 M-21: 4L32_635B>*WB!G\^+X!TJUN$!Z \TYPL/3,_NODT(Z_,7&-WY#?1\\5CRAPUC\8N7/'L!]&0B;]2)X'Y&^A& !Y"& M]4F8YZ+<-Y:F]0^3V6J*03@*MO"^4IM'U*!%0W4^#&$)=46.[,7>RSE=*EP+>1S M<(@/CK^(H-28_N/ F(5S>MU].ST*GG68B%*V#1T\BF4T,U33H!0%%LD"B5># M3."SRS!YMN/NET(VS4U&R M76\3/-J^UXPQTX??(NJ+72/;FVY+E/D;<(PT"0_)8WA@&]PO7D1)$CE!O(5F MN2';?'H1['NCY(WP-@KA;N_35^)&WLX+F,[&[C/=8774[3A-9322XI$4T4IO M?MM0U]R,9IU/KXEDX-9O46N9S9CJYMQOK:EF[BCEZO/#P^WL;G:_GMZ2F_G] M]/YJSOZU6D_7_%,RO[]9+.^FZ_GBOO\E3,'TYR"B;OA"(]@)W##_%D]WT/A1 MXDE:4\!9X#H*FJUW+='1EK].?-;SC/Q+6+7\,(YYTM8)"#2-3<#R^#+GB#9K7B\DA-58O(('#+Q^'$;]TG9HM9&A=D=)U*;??1V:_2*M?/[.4^:>%Q#]5 M2!%.BPABB!G:OL0NB[;EHCEZT<:J-M_2.&9*Z?@WE&IJRX_ 4"O)I2P?U8U7 M8+"JQ"5,R&JF)I\<+[AE MH5&[":D@6F=\$K$,S*Z$99/!U=CJ9FJ,#/D A+XFM_AW-CK+RMNVIT$:1/4\ ME25B>UZ<<;3^D2BSR&.!RW^SC>VO__9/V2?L?QZ=F/[;_P]02P,$% @ MT(,F5\/7%,^F2P DCX% !0 !A9W@M,C R,S W,S%?<')E+GAM;.U]6W/K MMI+N^U2=_Z"3\S S56=ER3=Y.35[3\FR[*BV+6DD.=DY+RF:@F0F%*GPXF7M M7W\ 7B12)$" ! B04LTERS8 HKN_;@"-[L9__??GQNQ\ ,K'[L_WG6^?/E[,,2]YL(NMM4) MQKK\\2+^PR :S;9^ZMQ][7V][%Y>=;[]U+W]J7O9F;[$S5[@Q%9&03O3L/[\ M"?V_-_BU#J3/=N?OG[]_OW[C]^O?K2=->S>O?CZSY?GN?X. M-MH7PW(]S=+!#QW8_BP)Q$]\\WQXP'N/JZ_Q:V!?KI2]SL"_K5 MEXO++U<7/WZZRQ_"*5*,_T-,#/I%'CD7=W=W7X._QDTS+0M&AG\U".WW#/K[ MOW4Z(:,=VP0SL.H$G_W)VVW!WWYPCNY!G*)/#&QK"2P(9_@/US:-)<+O_J_N9#74'#C)M4M+0YF1Q5-TKYE( MX/-W #Q.I!P-63,-4\V![=Z!9^B:*8"@H_'KQ=SX*![WKV!F*$ MG1R:,?E2@<2._@_A^4,S$18@^T;6!W"] !GL1% ,R9>&OJ[;/AQW!G0 O_B& MNK)..F\,OK,<01Q::P..W'==AB6%- +?&3X:%K3F<'WM.P[\$"@I?\PPG'%K M;S9&:80F._.=US-8:R9274@_/$X8H,3T\L;@.\M@)0N.)) 56[@NE#2_N'%X M:P[\-%AHGV68F>K,=UYCX(6C3X$S?X>['_;9Y0S!W[X_&!\&7/R7R POX'$3 M_GX72*Z<;2<,QWGNT:('54$':#%$X"JC[IAQ..L46".+,@-;VT&:6T*;,B-P MGJ&_A]Y0QRJ8](HW.!=B]BJ8P_4?>. MNBQI]"/7O+LN2Q#UP&+WL&6GCQM'V!ZQ-)^S0]2Q$RL[7?)HPG9EY6&0&4+P M#JWL3+$#B=U#E,8!9AQ)^XG29+!^0-J:NY_=R'(]QP]]:M8,Z+[C0/X'/1Z MIQFFV(69:1YUK]ZE&< P=-TTS-J8O)G&.CQO M"*2^Q"1JE[WA:NNU \)Y3%9Q#Y&8*/IDS7N]TJ32CUPS1?T/^%ED>A]M9PX; MS)&=,3RC@EAY?+-F+M0B8O'2SGK 2U-#&$KL>03M>FTKO- Z_EMI:DI]1"R= M_>720$8-K?/[31 W LFCUW#G4)H2\FC"3I?/ !ZY*B@_=B1A,W[T/?B+%[AI MV/B;X*-3;5?1A#&-+HRR7S4D^FIK$'&T.L[_/#\':OUA+Y MKS=;S=K-@SZ3X#PP-;4*.TNN'Z^5+X-WI-XC:^QOWH S68UMZQ>X/H)E.#-W M84]]1W^'_8/3.HIO@$*% Z!A1?&+SZ2D\'$&Y^D8>A 3 CN\6D8%2\#CFW5P M@>\J6N8;PCQR^W\./]%4X,BZ#1=&TZBZ4V#]@C *Q\";; &ZR[/6S[;K#J"E MWKUI%;2;:7!A=$&M !JT$G#[_P /K*:]10L1_-/ 2?I[XOCT?AL<#E]6+!WNN]!@_CF>^C$M+"3X89P,4;TE>9 MA4_)IIFOE>;]_1JC-2HY%XI'K2-VHSP)Y.'$WL*4WQ+@!I)T#S/QWB$+?0?% M:5=TBO#XIB0N]'7=\<$RVK?4P +S)7B!)NC"&0:).B[0?US; M'U^!O@Q2H] _ DX%7!I9+K1^SL+1EH7AK9GA H))(R3FODW1)\@1\>M"@@^7^MX:'OM+M=N^ZG2^=>*#D/S5KV0E'[22'1?./*3!M/?45 M$V6!V4X!#.$O?B?-O/_F!C]B[N;J]O>M>75T<33,*@[Z0G"S?>\?CPGQED MI-/.HA9?MT%NS1?]W3#W\EXY]H:%A=$D;$J"; ?B_6\_7/S0\5TX17L;*N\/ M'4C<"D![OGP.V8.=?#!S#^ZD0-"R1B'^CZ\Y\,/F+EQZ"?(\:MDJT=+0%DGY M,B/EVF0%-^*E;/L U@R"I5+M6R:F8LDA*5TW41;ADPK433;A0&8^;MDK* M5,1%@KZN7QU#>AX-$X3NZQPQ'3=IA7BHB(K$DTQDS 7==J!%"&])T,EI@*(GG-W 7N)E3>S5(M&S MTQDAX5:6LBZTS]$2TFJLC+" 1H%!Q;1OD0Q9*(RD]TV6]/K+I8/":\/_P#,\ MN,!*+J=MBZ1&2UTDL3O)$AO ?TZ2MDQDQ@+#MIOH>1Y0%$B?$!'C1/BZ9.< 'F-6^1[!@(C&4GS0N!;A"< 3S% MK6UG1[P\V;=JD:2*Z8HOFK.>!^4=]/.-9IIQWCU6M*E6+1)M,5VQ:*4Y)H8; MX*RA;7]R[._>>Y2IA!54;NL6"8R>OEAP$GP3$;;>@6D6R2O9J$5B*B0KEHX$ M;T6T=3IDIT4):[Z'JJ O@]ITN TEH5.+I,=,9BS-K(]#^?5O %#$O3FREN#S M'P"OJ$?MTFSXUKNZN6FLM"DHBP6<=98H+."8)8^&JVOF;T!S'N%O\C8YF):M M$#(+;;&8&Q5H$IV<#O3APRUQ35LA:";B8DEG73D*2SH-Y3"RE$ZE$VU;(6LV MZF)A9WT_"@N[#^E;!C2:6MZ.+/7W5@BUF*)8D%E'4$5!_M?7#).>X2]XY/Z4 M>0 G*1QL)M!%%V4"[0> _QY,Q@_#\7SX@/XUGSR/'OH+^,-\ ?_S,APOYIW) M8V?8GXU'XZV)0"L KS7T+N.J[7]::MHT2LTS/C7]S@'/TB]_#Y-S]C#%Y M0X6M*ZI>F9E'Y>62]>B2Y>B&G[KI![ECK@O@_RX7VB>&JA(CI57AKM?M=>4I M-Z4LD4[S)IE3TM('<-YL7G:\#)@&MNOM*Q9B8))JTW0 %!.#S522MD"7$>R3 M8[ONU+%7!LZF)5HT7:A%I/!*:[(]S90GTCDP3>1N!19P-!/N9OK+C6$%^0KH MYBI*^\9(FZYSTX%0@4IL1E2CU'Y?32AD&JHIA %$3LNF2Y^6)&R65:/,05#P M8FQ;=IIJLAD@=VH\ -BIXY3.)7TC=X!\O+,R[!_#4FRQ1-?R$ MC(3T&Y;F[$:0NRYDG8YVQ79@18.H"."2ST1"OMAT'-;-&FPF6J,,VG&EOWNX MBN.WKYC6[8 .'5G8%+:&V:Y]K33"=B75)L6-FV[ONMLL(1<3@\UU:Y1&AS6Y M[ V<]#L$,]R!)RPCM'_&V@IO2O1=4+4 A>!!>:'*&^6F(\U'6HU<@6?\]>L(Q2!8_A'(;C E&7X-@.S,A_P*8R-@F(.>PK01>C1 M=,"PDH9/B&S4&AK?Q.WKR))OJG#-FRY])KKP^9>-4O]CFM&K:CJEW(.V2@J= M29+%0, 3*N2.;NL8-DK0"O;F"F#BP3!][W C7X"*J/4IX()$*J[#:6EK$#\.DHD:+EA 6(=1$DL,"PL7>O&)Y8U:<&AY05J(F,9( M,_.B=W5[*Q\\7!!1'FAXQ@BHE'LP6CV5$!<9[Z)LD)*CG%''QAK!R^6UK+/U M_DFL^,V*_=X!Z";\#VY71=-528RQG;;+T8BOY5'Y5D):9.R]9J+WC>?O 'BT M(;&7M"&Q]_WG_G@P[,Q_'@X7,D)A]W.&"7/ M/MU(28UED4U2?2E(4Z_N?GE!Q^^^T,C[J*V28J<0'T[F-.0)W4A>REG.-1<] M,W?\MK47O*@'-S:_:"8^P)FFK\(XH1%YS@I?FNH6PB?Q[#DVWF3?HG50**)- M0$C\0> 7L"@W#3%F:!83>R_8N!-$-*5Z2PD%2#5L'"TH2>47E*X0"&@"T6_;48J]< MYB(1I2%[,SEU4 *"MYN:6IAU#K?7VRAF"8,"4A>%0<&(!F8J6WE1^V3;R^^& M>5QM^/C/[1$[D2(!3\[)UO\1E(FU-N">.6071/<^L;Q ^#1=VP.,TM2V<,?X M$$U\GP"R9PD&*O@.[0$((XU"MY#'56RH8)'[@/$^3_49:"Z8H0O:R>K5#94 M+HN)#?.1[!E[-Q\(/ @6\&*?=.]5'CC2?VR^["GH$9#X*'OS\&QH;X89)CM8 MR^ "_MTV(9DNVBU[NX([+MKN:79>]:YO)99(K7K;68GH=M1[2;" [C(4WT%) M:%02,1$Q--0+O?&2Y)N*'/Q3;8>\^W17'^G&J@.%1K+XFP\*6ML)"\>'\\YP M$8^,_/:M!0<#N4+O366%36;O>&)N[-BOQ(Z[MA,UI2D7ZAR3$_%-;5E.Q:2P MV9+*+J_I+U##"X#04KA@4TUH#2\=C@M#C%##"2K[0RQ0YF&%V MF]$RO9V(8:1>Z#6+K)"-:.8!*TC!XCDME80(HTSS@C7H"&UA-'@B^8V8-W#4 MK)TXH*)2Z-Y3SD&UOUP:(153S5B.K(&V->"N*,$.G$NLL&,[@5*2[A8& ,V MIQD66,8U2?JZ[F]\$Z62/H"5H6.+FA9W;"=T2M(M=.(^R.A!J1RB04U 1E':2>,>#!! M:""1G.N<+%^I#\CMQ DEG2<8>%0RX$A)F(CSRM+SH);$%S5*IDP#@;P#S]"U M?>1[8?V4FS+U4SK_D?K8?Y[KJ0CPCT$63YQ@KLM@1Q87!J)RF>$Z*VDHRD8D M5B"Y'759T@P(ZXSU?>\=VJ=_80MKD3NEN=7K];K'"V5C 4)%:CL"5?,('[FN MSP2*L$/K 4$@4X#73!$P%)=[+.C5>E@4T=J.IPP3?F/&_09%SU9AI"R] NYQ MY>*$IXOX']>AN/%O#-YA#]-!O_X>?+\,)S-_[TS_)_7T>(WN=[*$E&35'VEW&M% M,UN@'+ZBZ0>-THB_A8!7R_]8+)WT/58A;01'H]R;J/W<0S+15:UM!>',GP;. M7!/[J"U:O(0(8J4F$RMEN=NR%X >HBC>BX7MU!8@M2R(FS$"I>VX$L#$!Q*1 M0.S36E2P4XV]&U @^I$HX/S&K94L [E8#[\:AR>B5+'M6RM8-HJQ'GHU@PS) M)IJV?VME7XT#6"^\!"R@#&-4J\ VX:CKD05W#,#UB.(G=6FMQ)F)QKK693PA MFZ;[P=[ )0DCW=RVK14K/;58-[G,X_(SW%F,X#\+S\C[AFI+LM3!F$R;T#PU M6=Z28[\07'+"&KI3VPGDYGF.\>9[B)T+.]]V48=]EQD\+8IOO:N>2C C(R8/ M:L)XPNF@OP40D\BY[7B*E'JAO84KN)%J/'2HR.-DI$@HD/-X_=2Q5X:'\FRP MD5UQ@W;)O8 NP6\GR1$V[BCT:#O 6%MAK2M]MW TR]7T0(K6,OC)#&3Z!/=> MB&/W8 5[S-";LZYKK Q=B]MB,][J^'2[ "J-8T)3>.44#B#E%_8_-,-$VP+( MV+EF@CG0?2=,'%K^X8=O\!6D<_(:_C0 S(4K0@O>2$HMWE/N+FS,?4.P6WG3 M@IB)S19R-4#"#, ]KVMXD(W.AZ&C$%.XS8 J;Z^M8!12UKKHS[8+U%*XU=8L MYS#H\0%J/CRG!>P(>!#\;1(0Z0X_@:,;+C98E'F<=L&1#_D"(DQE;W4QC E/ M>QP 1AA(483Q HU %G9([1BF<2"AS.P]1W]':T%&;:3 $?JEV;@7:][I4") MW6H6C)G:^8Y"#:ZXH7DK:&"8JJT;4%\#B^!'Z\XU4[NU+TR$GD">QW>IRN8P86EF, M-OI"JO'(H2(O!@&?>\D\$,3G-B4R@9"U?C3M[_L=4$$"T'6Y!*!!?_YSY_%Y M\NM<;MK/GESZ;)],%PB;7N_JHONM=WUS=]6%N.G*"6 #'IK;U+'1(KR\W[VZ MZ/78_1.B?=V#RW/@^B43RSY02G-ZW? U2V4, ZW,?:,X!:,_Q$.H.[T\AM>P;14;P,-9,$!R?*V;Q!!J.$/? PO^.K.AEW]@9 M!J4!C _D+H/BP "-;9 S M,(Y,"]JL&#!=YS.<$$#]'40PDLM,](.>^!!5;8 MEV,*>IW!=[R&LK.+4Q2@6E':_0VZ(/A7(/;)"JJ>9JT-J')]UP4>SLE![G3& MVM'9DYU;G&+PE%MS(TX_0M&$]U0OP'NW(9<_0"0<_%);W/<,O,P*6Y)I56/T ME(Q6"$+$T=4G9';(FH)S!*Y]FF47O>[ML>T^+9RQ,4IP-)4JYXD]6Z,X[0(7 M+_T 2J)/F..V(E]:^+AD[KG)]J'>'PY,+ ?6HZY*PJLB"B@/GS2<$!S'IPJD MT*OQB)V_&M[[ *XKT*8[P7Z5&EG8$4X58&P,J>K#;E2,=E42:L)-G1;[P,F\*O1",X4CH3.007$L8 M2$GHB0NN9>5$2YZ&U'9QK0/]+]]PP,_ 7"[L%\U#Y3IVA[(=N-A;VOYI'E[V MKNZ.MZWJ&#)6*.2$YE9BBV"'QS=98=PZ ,O@7@15A)FL6*%&/<")8:T:7X1& MKLDYFF:T#U^-Z &\X59,QE%.#'0>V95/!:<%MHI\X56\+O<@JA34HI?<"=@K<$,FM6)A9B$_@\= MFC\T$P11>)#3A@Z-+OH#/%"G?Y%HB<&D@"\I"5X.6_^Z6,4)S^GK=QFO&%?A M3%@H,AO-$)5K2\H@E L&W_5.HJW05X"+ MPS3=,)$1 _(Y;1+%?--#B?=_KCA\Y]?SX*RDM.9\/Y<+SHHY82"DQ. D:%6<^'0IOA8U!)3DQ6T7E( M,P\U. O<]IS&EIF7F!QPL(&+N3;S;D/=GT@I[#57V.&Y'@A7CBK!4/FL= MW.-4UROG-%2+K9N!#V#Y(/">Q9'8;C(4FZYX[D7W,FOB9L-?AN/7X;SS.)N\ MH JZBUE_L)AW?ATM?NX,7N>+RBNY1F:6HQ!SF80FLJS_&Y;*'O[/Z^B7 M_G-0/AOM=$;C7X;S15!.6X(MB/:XQV2334!1)S6.3'"&\W?;\1; V22$6&0$ M2HRDI#V@DVS!8:@4Y0W?$^#K$!3H_756[_N#P>05:?IL.!A"M;]_'DI9\&-* MBC0[MR6[.FOKSV 6W=NKBV F\!>_+QQMB1(K@QS?Q(>*SP.,O=.@O.E=W2G@ MK"#( .D@#Q)%U::O1>MP-=L*=.XFJW.C\:(_?AI!5>OTY_.AE&7UR;:7WPW3 M#/8/:<(2AH:LBXQC2$D4QDVK:)&EZ*FD%I>2:SH!N!SAC=;M0ZB XZ"[));- M="^KX(^C<7\\&(V?.OW9#*KZ4-;F&:5A4*LSKK&4VJS)J13I*J:UDOI)EDBZ M="H]50W?T*+P0H/I!'N;#AVD5ZE!QH(R4Y>HU>V9[#63.0S@XL;@$LQX^]9\#/S%+R> ?7^[[X=N*+]/A>"[KAOLPKR"C94_<#)@H M6V!@NYX;//3SALB/LQ>*-KL5!Y7R"C3EE.^34R[F^7.I MX19G_Z0#[9;BHIOG"H/&9=A9]/\I92^QIX%ZYT#L(:W8?VH^Q:XM?!1K^,'H;CAS <8S$;]N>OL]_"+3HO5U=B^L>S)[F\J+IQNIXE M?8QT,4O5+XW)VU[WF\04;U:)Q/>SY2EMM(\K#@.#IWT=H.BP(+^84NGR8J&B MT$?DZAH,450D.OE*"80TW#^1-7F%A#F>9E@4M58*^DCQ0R?D@J;'XHTN[JJ4 MZC))+NV8+DEIHU5W#M;HI#P#6_1VF[6F5-J<0*;Y\ G=_71FP^EDAAS4$M3U MF)H"3<4WE_'Z^-%DZ'64HJ>2*EHDK=1#XB5I;/BN=NYOMV80#:&9V1R,D;6R MG0V#H_DB)QAJ_CJ=/@ M)#,G1!T1ZL5,9%&B[ >X"0M)IT,/7>?3PE$%GK3C(8PQ^)X@WK$M^$\]Y!L+ MMEB'.2V4<>&.$O5N-4/XV^!4M<\Q4:'U/PT %&*"YS*=\EQLS,#^@Y8_\NI_SUWER&>8"1T5Q.K!E:DAVXF0O00[T840Z3 M5KX[^),"82_KPF^,9W>]>M#]L9V!JKDNT#$*^D=*.VV[OYO)&OIDH7=NG/A8U>PMZR#YG MLAVW.9O-0S&2"E:CE55)G@$$%IAL 0IUMM;/Z#&/9T-[@\N4MXO?+Z?:"Y08 M22F]+E._A!?-C5;4_&('3#I[E]597,D#F"P#Y9A@FPY,-(,[7_7G"57@\CXE9,#J3BN<8J!4Z!>#,M.[:*;YYDY5(V1N3MK M?OF8 V[#IQ.-CX.QX0E4\@I MIW.4K0%GG%#(G-P-V&!L6TXZE2/Y8B,Y6Z;\^&ES<-F[ZK4EDR^_+(]8QG%: MG$WY*<7WNT3VZZ,#_O*!I>_ZGX9;A$A\3R6Q)A80! R\JD]T,HC^\'>:(95 M!"U\3[6AQ2AJ F@8.=!*T+A[77P!FS?@,*#FN*O:L&$4-AULJ%C0'MS<[_;_ M_-D #I3"^^X9? "3;BDC=%8;._6O9JRLXG3F5 !C2>W*RS6RMK[G!AR\H%OHLCW41DQI(1. 0\F#5L+DDADFEV>8$'G0_#4J MZ^,D;7SR6ZL-C[IV.@R\X12!*0\V"T>SW%7X-NH<.!\&>O,^X6U+^*07GU 3H R R<)-.'L:OP*^V!;8O6C.G\![]*VE2US\\ALKB1OADL^" MC8$[C8<-CW7CV;# R .;0@<"CV^DQ7#5N[H[#OTXA=57.$?;41(VOT+(GGN' MJVD,VDKCDH,\6IOR=&\">UKI$03 M1UEX:\OXUT&>&& 91TJ94*$+*@7HERACF!O;/D-)98-G?H%=)7J%.HZ># MT1%;CR+30I.0$\]/V[4M>*A,LQ*E%W)1,)XZA@Z6@W?-6H,)FJ8[LG337Z(B M:(&S1@OH"YKE88%M@#8A@@/EHA[T460#,0/(30%I=KWO7705J,%38R@CD"F&+$Q]LY*0I5*9Y[FF. M]Z!Y@'"KS/F .]/=@>KB"L(\YX7L^.G[*MV0:_$##KVJA//X>SEJ?W- M.PPYI"YI%;KI7?>ZRA@DWB_9%- DAJ"& TQ@A@- M6R<(#$G8XUNM@GBZQPCBZ;YU@L"0A#UJJ+,O+/)=%W532I0<-A.5Z&ZO]QBW MU1Y^HM +%!/JNNAUL.5"^RQW:,H;J4G@(B,#Z^.HS ZAWN.K.MT9A:]PLWDM MKK*1L;3/<$MT3 AXAUMR_=7\R9'\$51]T\K0ZUUWO\FW#732RR^RRDJK4,67 MWL)JM$S@FI6B!E;R6!4QX&64A5X8.R01I!7>O%NV8MP&9K M.YJS&VVVFN&@A6$ L6YXSS9:*0^!X2,K?A CXH&!\IJ3RPFIE("P[RD)ORJ0 MR0*P7MZ)G/P%S"[5OT%.XA3XY81X#<24F\U"OA+,)*L$PEF.3;^**C M>$$O)8'"H/CH WAPX8/QH>Q!-82KK0 EJF9F_M;>_J[IA09:P&^:V7\M0J%70T0]G3F,"Q_=^4%%IY M :2#C,A4JEF2D$:HN:ZFH[\J)=AB8>0(CD!'(T7W8EC&QM]@A9?ZNYKB(\PM M+!CK^(".!M<^'EA1R5!5$;P6?B4)%Z].U#!^-E?[X3N^_X* M_K=OFO9WE# .VQPB4@:^@T17"FS,7TD+YUOO^D*!JHMU(),/I]2[EU4-QOL< MR\369HKNN8/J"!ZP7 .._FRX-0&>?CY*JD8=H!:N2A5EP/?\(UO?@C#%@;V! MDW]'E'^ \.+_U8+;>!.%)?YLFRC)Y@F> 1 3)U9"%([APC\]^$Y8@<2PE_=@ M93L G^(D['M*Z@N?I:1>GK4PEF/JV#H RZ *##(9DQ7Y]0X,=EF':3$DN;"B MEB@1-1:!_*9%(,>K^OZQFH7=W]B.A]:F@>UZP?LW!5$_%4=M,6!%<":"94\= M6.:&]!9L_9,TQZ'O:.^/8IJ7R.D-]SPFB/^":B__!C1G8D%^+;[;.6' 0K^G M)$1%@.L 83D\5<^]5Q^X(4\@8^!7\Z+^\@>X_);QUHN;)*/7]!&6.KZ_[&-Y%&/CGP''!PK:!3P=YA$C@7X^7G MW;']]7NI?425KYT@7F5P5#WG1 VP1HM.Q)9R.XAJWSM#NR:>GH!3XHBI=$PL MMZ6@&_L$P2V>?ZUP8^Q978,+H\*W3A# ]?,S O3MJ0&Z@MNBTM?.H*Z%HQ&L MOZD#:X&W(&GF,E]WI+NGV/FMV[N^4B!X4\ZV@8E%$>+N! 4)JU6$H$(%V,R[ M-=15!Q(?;5V- 3DQX/-WJ#$H:#G!6LS\\YHJ:2J*&9U5?&KBVI$Y%Z<2*E.5&0@VF@7*,U!Y:L(V]/,I&QK6>3[>O!4AGLHK<2VE%]GB[GW M!X/)*UJL9\/!$*[D]\]#R4_*Q:05+<^Y+668YD0@>9#0""'[;&M60DKDA!GZ M 9344H+$4A:Y&I6BEO%:]'8$^UMKE#* WJ'P7!19:%O(1J'BO>F_L6GT35:C M1^-%?_PT0HK\.%@^LBU@ M&N-W._F6@&/%;.,(]&*W0T&WTP41@?X6)H00^)"(&8S"# )9 MLP,*,] )0XR%(^KE?H@$W1C@7)3D3FG67=Y>7"O@V:\'3#CJ>657)&[J),7F M9-1GN31"8A(O1K+Z_3-/@>3Y_0]?ZB0^=6+N?MF/@=3L[E?$>##+B)^[/VU MU'N%]]YWH?ETX3+ZEV^$1<4(+GM,:R6%7E%B60BP$-\H>:-_.H#L5"_LEV;# M5:_7NY6/ 1:1T0F\F&:.'M7<7(:9_0:<\-Y>LW8C2\_UD!):-D92Q;P^R(R5 M7M%2>@*;C3:UOP-GOG/AYO39Q,L)V[:UDF*C^&3]U8I(G/M*6IH30KU&,A"JS(OA!9CNI("L9CN@A.LDM"H+,\L M1(CTBBZ77(N3)ZH3;:W[CH-> 2N1:=7+!G,^CL;]\6 T?NKT9[/^^&D89E;) M=."@! IJ3PVNL02-1%9ML@I+?3]JNF%"C)#\+]CV:0Q?]ZZONO)UEBR5I"JR MT:7LH3I- ,%_DFVHI #9Q)(3D$)'9D/D2?2+Y#554J:4,BD2)H%"E4+)D@@F M1I!E&S9 >@0AD&TL@4*5I#<#'[;Y ?#BB4\Z-$^C8V_N;<=Q_Z.O #:%O[%VS$@!S=$8X!$ M!@(=F)B8(/1:6,Z6!5W3C"S763JDUP6'T/XBH\1ES-8A2AQ76ICQ='3TG_B> MZVD6B@?I;U!%.J(O&=^M=:"J1+C0K53,V'J*$=N;C1$687Q&&L08!W.;C8,9 M3%Y>1ONRPN&@5:)@<@WO8=J%\2W%S66+5@:I MHVXQ.10A#W)B!/GG .*T'*_3VV46>E7R-C_YFJ-9'@"3-]-8A^6:[G=C]#P)Z0:H MJ)N24M16N\=>T5QA[00+7!1-R7%74IR= HI%TE%8]N.#1S3PGQK@C7 MO#$R+A1.5L9,-*LDV[U)>RZXK\DV5%*>I4PT)6U"?4]RKF-DN,R5@PI9ZIS\ MY(7*SZ?0W(TD%Z;K0A.Z!8Z&_+N!"VD(5T@/6#J8K"8!D0M[&#BEL/Y,AC': M!:CJI+B9*KCX>MA,,\9A3A)99.I;N.ZE.3)#T3J3U:L;YN1BD$3L MTR[8L)/*Z7X%FV8L$Q[#SRVP7)R!R6W;9CB02!3ZL+T*IF*J[4BOON4W3K/J MIG?1(C00:13Z/+RB+U"3(/VIHQ]K &JFNGXZ #7\ M4&<3?JECHD]UMM&WSG&IQ%W=LZ&]H:!J [A[Z?A%=>18AD@#OM>[OCX.[U0\ MIK4RL4(3I]2Y:HDYLXOY$BZC2U3:Y1%R6C-_ QJ^SDW9 97"%S?,T%W,5.!0 M"XN\4G$(,GX,5YK%=V!^@!?;\MZQ^<8EASL#L@1_3N0Z.H\_2$47W^V**(Q& M.8./GBTMO*5F8@O\)DL,!'&<,^Y8&-/&,@T,C'FT_4K[P,0P9]PQ\$6]NW9, M%3@"K0O['DPU8]E?P6E@P%1ND+9#B2-7A-[2JWUXJ&BWV@XR+OS@=4^?^]:H M@LOCJ[6,+IG!OG@W*L*/RPY]QR8%?8D,?E,+OV+;T,F;PT._$$5? M"%[A$#ACJ-2">N"%*'M8Y@MG@/)A60QE,9<,5Y(B>W[5T*N*B/.LD3Q7Y$B> MP\#GL!W>Y>0D*S'O0*9!"% >*E4/J[VI*@C"WM"R* M:9$NC3 J&2^-Y-^;+HU"6H0_+%=FG7^N6%])LIQ*K2R,M(DJ>I>[@8SVIKLI M@(,O'VUG8 Q-RS]3_O MX9ER"3>]*',L&&WN;S::LYNL^I 9'^&-%'!0"\W:S8,^8865J:E9C(>KNVR= M[OEB,OC'E_O^?/B #EK3X7C>7XPF8_2G<"8=>]6)Y]+QT60ZT6S^W>T$\^F$ M$^H$,Y+[U/V>M,DJR=09,"%*ER@MTYV_0TR_(;;'/H&"5(:J@\I8(=!T,M#J M(Z5;!\IZOSLTB6;<_ZXYRU"2;J+^_=@G/>'%^SM*FC@^J$HM7K7PC9.IW 9& M&MIYQWN6]AQ858X]H?7&'5GABO/DV"YVT\3_2VGIW/6N+X[W'&=4,W!.0": ME%T\7#I'KNN#Y8/O0$T.R0XXY";6>7?X"1S=< _K>6:7SSK0J>"1#V.J)@'< MA7"SP!K1T5P3"K?I*V"@/-J]C@HRH3E?.A7(UL2YJND%;<&T(AO=,YXK\8U3 MUD*XT1U:#<9SM)(A/YI0/&>^<\8S1[YQ2IY(![AQRGHA MD)N\750)7!VQT<.W&/W4B8R5EE:N5LK#(\:^!Q>Q^CY/([_,LW MO-WAH==D& K>U 3NP050F5R1<9O"/>CJPPKF"R&MO6+\"%/(J6Y84]]1W]'?8/ M R #,6_@ &A8UCR2S',;='DDX1P[AM4)9XE^!^?Y)9QHE$?B=CR[$\^U$TXV MZ!Q,-THY.6>9*))E4F&C""7_$0@^AFPH:T$;?LS7TH;BHG?3;94QEL&]<]Z) M@GDG;<=V#9QK2=Y)14OP2WTF.^]3IX3I.EC7JNP6'@M<^BZ][LT)^>MG\ OG M9JLR8UJX.5>@$I;"@*=A7\NR9=J(\?9&@=;&/P$/D#09X:R.\OHG<-[;U,'0 MDTJEJ9)UP:8A]=D<'@-N77G.+!Y+)WW6MO34)Y#&U;HLW)ZL;902N H[QR;I2.7)M!#CF& M#KD3='BU#(^YP''F]1C6P#1G/XF.&T2:^6@:YW@S%>+-]'>P]$T0>7Y)W@%L MIC3Q:1Q>XY_*CD$HO^I]MH%7#(<2/F%>S!'^] X#^/(V1;/Y:^ZS/%1] ME(1#;:+-HHJ=62K!H_0]R7/1VT&5!U83:#4O>X+8*.I9(WEXS"1^3;QWX"S@ MN>SX"#VS3?/1=E GWM@M-8FT@*YZ-Q<*^-$%X8XCP/GQ6NB34*U5(S'UH5F_ MWR[EX8=I*8I&$(FPG*Z#IMVU3-/2(2BU*UKZ\V<]DZ]G%!+AE&*6+JUU4+%C MF3==Q<)X%FDJEO[\6<7DJQB%1(0DO+57Q?;A+M*T+#.#LZ+)5S0ZH0A)ICOH MVG&H0=-U3?VSF0+!'2>F:%0R$932U]ZS60,T38$A98=R; M$EY]EEFV:Q>JH-N_LC $U.LY@7N!VO,@.4ZM73I9HZJHJ>#GFP@1CF?U%+Q2 MLNYU[_I2A< 2!?1%)2WG(5,5;T,$E[D^9N/(=?V#DTUNN>N* M56]7B'ONMOE[$^_UJ;\C:D.$/&K*3D_KN,EP M_.@ 7_O#[ IFAR6ID+8T/ M8^EK9DY- 6P[)8$D5NP'F+%QI=[: JQ"_]7PW@-%0VO^N[%=V$,++E"[W%(! M)490"BAL@BL0> FZA6=O%TA_^ ETWS,^(!TK0P=.;B8_OJ'ZLBPAD[24&0A7 M*16_8EV8$[/?]!QI;JY[D^K"* *_8CB4.'_S8HZR%8J&FZUI[P!(/)9++!"# M;:\D)FJ3;Q9:;(P2A8_ 'E8V$6[KY=ZY"ZYHU^M=W=V<)$K*,PM[!\S)(,R !;ZC0V&E5:C$*&=H M' P(+_9A+Q4Y@65A;$J @Z+7&0P',)1E%_;]. D+24PTP=^6;**F^&MVMQ4R MA+"KE.OCH/*3D?1 $8D72@ O- )5'!WA^1D.R#B@>6 -\%$+I7E/8&3:3-(0 M)> JFI>+"$X<_K*+=P.E&K1#9!0TB7+$E+H/G"'[CKGVW_]-2='4>=5/Y@3% M6;>^Z_U@JMA;W<1?E1)J,9-S!%+&*M8DA1?#,C;^!BN'U-_3%-Q""B3FC=-P M-RV+8EJD2T/[)$LC^?>F2Z.0%NSZH^(EMBH/"$C&@:P#FR V;B@O<^)><39Z0+Y:30XA+' MF?11SG[J#@'NK'#H)AYG-.& M*A]V"2V(T#"#&]9,C4Y%;O]#,TQTRH&,#))5>1O?@L^=-KIKY:K0DR2_>,@T M:8%:0\I>+3CYO"OP@!U@^> [^S4IY_ZD^J!IEG[K77>_G0!0!?).:,J[G("Y MQ&+U@'*L@+4,:L@7>T PB- M+A$M3".= <.#81%F[M0Q3(+.'4RGAM/$5@F>Q#[R;HO.K?M$/7A\-W20SXU] M.:6 P^["AN?^Y-]1E9.Q[?T&O!G0[;5E_"MC^X1_[[117"];8T5HTVV1, Z& M9RZX6D6_0NUP/O5Z)W%6&VO/$=HE)DW_(0;/L,%^Q+X <]' MEN<8EFOH0NI#,GPZ+<>[AE=VK6"_YWRQ+>_=W U,VT7W/0['M52\'KD05_"1;:)]ID1O]$;+)<@,YCE@[9%'R J=SU1;=[ M<5SN>C0>3%Z&G47_G\,Y^C'X6@=^KA-]KY/^H-1JUWM>'$@H*&5-["'#0;-: M0:P;'P<)(ZRG6=SW'@%$LF;.(8A\.(==JC'.ZU)]Y)16771[U]<*%-RAD'G* M(2*(#9Q"R].OT4D X('2%$N.KLWV@!*\0P1\EBB.O!$G$"5 M3I[A1\W$XL@&0-PH+888$\GJUI1[M9R]9QK._]EVW4A9+\V@[P%A;*48^&)"_2%P&HI)EJU,T M6I.!)X)T3M&^5??/^241M<\!G(#AY?E #W]LLD@I*"&$RC9?^?-L),I&@XQ^ MA[OW!_ !3'N+O*AL9H!^W#3/+]0HMLS'(%1D J=X6U6/UGG<"5ZBK(ZT8)@3 M Q:>9EZ!M^H *>VV*L)+NG6K8$%!&K=H4Q1K)$_V ]]!3(SV6+08*.C5!BR4 M(5%$Y*24.\HQ\"9;@,KS6&ODE!IHCK-[T_0_6:\G+PNN)^&'.OLO=="G.OMO MG?;-).XI#@=H+A152BK[J_4!<"#'@C_F!E@P]6^R%O,A5MU:P ^0":YGZ%A% MS1%^89^F"[P<@0+J+$E8QQ^BN2:,.#P*A2_0!]M<8'R@"+9H6K>]G//T0?_#BLJ_]5P>H??Z^C6!8AR$AQD&LN MS3N0[9]6C,O>]>UMXVQ!-6+5W2TDKYD][?,M/,*X1K1!@G+Q3;18(N8Y$8E0 M)9<'C82]]( %!=?S%4=O,HCJ8(42>Q71%;QF M5B86^KI@NQ%,HA/.HA-/HP/GT4E.I(-FTD%3Z23F'4U# O'A.&*?-/E7O>M+!5Y?8A47M< )- M_ M1H9!RH'#96Q;=NRX"\F)+EV(KPG3=&V2S D2RTJ]-/$J";^$*7PN>J^FPI!* M@D7PVIX8&=&>H]9X+Q8^U!O0#.)M=CE6IQBI*G88'0USWD M%.-+^+.FFK$<@T+OR[[AJ:&$D1-"G]XXYG2=8$'A!X^0Z6R;#JJ^IPVI,LP1 M^K;%=9V>=:A'(1NFP GJLO0]SS'>? _M^!=V4*7\W38AN>YDU4<#L?G2+[)U M1<;#1>Q/GPYGG?G/_=FPTU\L9J/[UT7__GG864PZBY^'G?EB,OC'SY/GA^%L MWID\=OJSI_Y8JOM\J#F0D6MWSRRR[QS7'&+JYN[;U=W=U<75Y?5U[_KBN#!I M/>3LA8]T $-#JHV2EH*)RUDK4$Q@U>/'7:AT%O#D177]"M!+@=!H?@!'6X-T M3?E$B;Y[S35T#!28QDAS$G*_>WS0:AY4JC.@1<4XG/BZ-7P\)7R<(+UX9.I\ M)=Y QF]8*@[<1N )XHH253U$F;8'P_312U''RLEFW'"CM!%E/%C Z_PE-Y?I MF)&D53&W;1OA04^H$J5!N(,@T@-*&$2M3P$()%(Y%>;(V? H>CSN+Y=&2&/I M^+.+;+);Q3/SE\YA6AU#D5@T3H=I*;:A;WG&$L'>^ !SH/L.9"YPAY^ZZ4.) M(G<2*ESCA^";K#)S)]6CXC)VH^Q.GI$1QP5Q]3IK,4GHLFS_2F7?6BY00+CO M[,+G*YD,S676.3?HSW_N/(Q^&3T,QP_S3G_\T%G,AOWYZ^RWT+94,1G86].8 MGF-R,":!MMOOZKS+NE\K@6["_^!V$31=TZ"^D1N#R"**K)*7)E>)#)GJT4J( M\!G8^BAYPTT_8DQ\R+>X8XM 4I+8MKC:2.03G\,IZGS40_59 MPHM1QF7.SH(^474E"4&AZI S; M_,9I%/=ZU]?'.1P2_)-4TDEO.JAIH\B*Y/A,J^MX"4'"GPY"A#_\/G5L5)QT MXD2/0^C^>0FG1:T5E4\E'Q.;WQ8Z10MI6@J!@JGLN _ M4*%F>'@L$A=-MU;)K33!2I07XK_/N=\MX.<(I2,(/90"1J6%LRRQRB;R9KD M/T8L"T'HT0PY%XB*9JM+IEBEJ@"1"[4#"D7R"@KY1)$JR3H7$]" MH:0+>K54U&6HQEKPF@X^+]H?MA-/W,6<6K.-&B)!RC,K)7V$V\WZ3ZQC;0,F MJ]3,L2=6;-LTF;>]ZTN)7F &2:3%QT:>Z)-0:AX3*[\^$KZAL9!)Y+@^48@%-J34ET33%HNF@$CL@J3"B>]^=P\L_7VC M.7^R'>]3W902KJ@S?C'%A-@;Q0[Z>UK83OM'W9HA=AK)T0" @G:5SH1SS40A M'1_ \E$Z#_$DF-NV(=*E$$M6NO0$JR32OJX'I5\.;ZH0I8IKWF;!,M$L_%C/ M(EO7!9Z[0/F_9*$>MVNU-*F(57J#]5Q09A7?H1F"K;2I(M-:2[4IR?"8 @?] M0EN#"UJ )+JDV?8MIZ"2"A A2YD")D44"\ELK+AGSSU'QZ4ET@ZTG%-T?L-V MB9N13J'E3V,1UQ+W.0=K%/X:UO,SK#5;Q.=U-N)S/GQZ&8X7G=EP.IDM1N,G MJ;&>Q^05A'GBFD,0]"ZO>A>WW=ZWZ]N;;U"$DDNK'\\T4>C@?A?]D>[-%>J1 ME-1X)HGEG+TXL4%H=6PY?IK]2P;WO@NMJ.M&3,B[\J/JHR9^. $@!UK,O%#V MT99HYD3_7*J-FJ)F%DB.4 NI;&APJRHR*N1O>L_&2E]K@EH;*J_2A"H1S)J? MM =, #?6&]\RPA=_7+AR.%I(7+##+A ^VP!I[MSU;KH*E/]EA0$'DH4[V@JB M:1!^;=-8!M,/CIB84*C\AFJ*D?MFB)$!]48G,TL8&RZ%:ZJ4E!EE421$ H4J MW5--XJ?4XMT>^?6Y_-8-D"-!'-EM+ N9[2CS-+ =:,K@ 6",MAL!T>1X9%S[ MMD&!C5"5;BD):]1ST7N"%%V5$G0-[HJR+!'Z-)0H4=A.6 K5"CS/OQK>>WQ[%)9*16YIUP7P?Y<+[1.#H1(C MM1U=O%A2U7>0>3M&-NH&MNM-5A%[L!N81)NV(Z68V!8^8/CDV*X[=>R5@;O. M3+1H.P**2!7Z)J&L6QD3#K=^ A9PO-X9EN$'XPT?\:#AV!TS3.<7* MRVZOVU,@:8\C:BIP06A F!Q [7=QA0_2Y;1L.U1H21;RV(;LI28H@C>V+3O- M!+*)(7=J/5[8J1=00% V<-+/NZ)=O&'YD!F1-MF6>P\@BT'B9>'A)[2^D!6& MI3F[@..0BSK:_]N!L1Y9D$#@DE]K%O+%MD.V;M9%>/_6*E.Y9TZDZ?=P;X'? MH6-:GP;2Z,B.4'(G""5WLJKA0'H).ZQ#@[9CH8#2V&G8%;(J]N3D5VT0U_X5 ML N]K>YIUMIX,T&88H1!!+E3VU%2@OH8.6+\S7+LQ@. <]>-@ T8G"2;I/ER M ?ER#/AFHZ*0UA@#8C,U:E\[X(;,VTU-S?+ZUG+XEV]L@[>&H_<%"6M*0<>V MXZ4D!V(4B?$>2UJ# L,Y\!W$?MR2DVS3=FP4$QO#0(P3^=@?7P\,G@WMS3"# M=QW)6,@V;#L@*"F.4=&FU. GVUY^-TP3=Z\4_;GM""#2&? _0%<:GX07L,M,0:WK*/(G38#*S]\D7CJ@*UF+!.NVMRT(XI^:56X['6O MCX^^-;_[5%I6AR2DLF0++NX@YZGDD?4!^68[NYGV_05R$65GX=: W+;M0@@[ MJ4*K0?#+(;=M.3-"3*C3>3 XF@H4X7']?X'H.3%.S@.T7G!L+ M>K43)V6(%AJA)ATQU" Y%5Q00*&R1P'5JL-"0:US1E_7'1_$EI7YD'%9\9 1 M?;X3?[\=!XS?Y:A]+,O-UK1W(+[<+_(U$SLUWQSDOYA=@FJA632E ),+^(BR MJ6/_ =!C-BX. .3&;1-\"6K5.UZ0!/X,-/B9HEN%X@YI5ESUNK*?F^8G>!:* M6WN.B%A!>_U$[M0VL%2@NH7'"%:LG!Q,2B'DI$X747B'9B9^R7K&N*IZQMA/ MHI.814M.&AS?36>P#*^6[_J:.7%0^2CPEX\F!^=(*GQ*ZM("^W"59Q^8:>9T MQC"EE7O!4$PH74KHH10L2LN4&A98DMN*"F)=4V*?)B$#*U9J8!!HE@V-W)7P MT=%\5"S'\LP=*CRIPS.WML.6?J+ITB2!$\25/I:6(EJVQ$49@^>"TE%%W9J$ M$ Z+!9EN=:NV8LAYM1R@VQ_ 09QY#()#-N@-IQQ3P3A"DW!!%FK:>/!@@WHN M;2X)?L!U SH>02;Z"M>LC2AAHE4]9[>HA69DN;X#3W0 \D4'8,FXX&2ZI]EY MW>M>'Y/;7.A4XD$+7>@8?HR!]P2W?(2TXN*.)PBC(NIK<:ES<9@&7W6!_N/: M_O@*]&7X8:@F!J1@X6A!M3P'JLP:I.I9$GV?=WR]:9>BRK8N_/V.\?X';YUFKS5&F44G:NVUZPY$ M[!45L?O"0 @1::51\=>_ 6JFF9IM:8I9K+-/5:E!$+-[YHP9,R+^^7]K0T\M M@>.JEOF??Z%WR+]2P)0L6365__R+[Y72N7_]OU__)P7_B_Y(I?[YO^ET2AT6 MNHV4;$F^ 4PO)3E ]("<6JG>[&>J9]FV:*::P'%474\5'%56P.X1%+G#[Y"[ M?"J=_G7884%TX?.6^7/?[@Y]VH3>O21LE/]!_L 0#$_E?B+D3P)+M9M/FV_[ M::@31W2"/84_8ZP#)K/G'Z( \Y2E4"J9DU2U>+/%)(%*";+T_0$ MB-,T@8IR>H)BV;24PR4L(Q/97%X\Z G^]<_,@VR%K#7=G[Z;5D31_L^WF>?9 M/W_\F(KNY,YRE!^['R)"ONT:ZZJIW;=J(IW;\F M[%;V'K]E]UCFQ_;'?5-U[:7A !Z]9#\@U83C!R&+?WB.:+I3RS%$#XH%=H1F MTD@NC:/[?ES'.^88_/(1-:*R?O0BT5%$4S6E.\DRHH9(]J%'=?T<8U'\8&C[ MY@Z8/BL(\@?\]9 YZ@LR>\I,&:BGY05_>$2=ZEH$AF9?ZGK;8O? *<&B^7S^ MQSK4QGVO0))/OQ[^\%A5CG3Q49_AKP]:]0&E@IIRFK37U 1+8^0CS51/:B:Y MU4SUVZ]_9D"4?_UC $],29;I07__FV^SWM!38< MZ8]?_WBJIX-?__S8_[WM:V+)P:]_9'69-]1% M'OY#X" +9=&1!9XK"CF)IK7Z>M1EZJHWRJ"\7:K1*\@:]Z>IZI!$QXM0F6$88RXYDKK,9!YIZ \ M3V,+>DA'E1Z-L.@[D3X+F+ ;8\\Z$(K#%DL=NX'PR "A.,0TID#B.OL!0Y3X MR<#1>0$-!^N(>M64P;H.@NTP>Y(@UFRWW\/(-:^VBW33'DNJB%'AR[[]0N!_ M*$3M/+H?\&Z %QTO[3L.'&Q)=251'P'184RY")WY_9 +?M?+I">5'H-AGH^L MQIEAH[\2\'#(Z32"0L?PF>,M[@*;AP&7X#?N_7"SJW1ZO&9$&5%)QO2K[G)= MZG0$(APN? 5QO;&VX0LL^?%H-^MAN10X;!FAW:DG-EK(MOA9B[-;E$"&XYN*N@L^K5UIZO23.=C*"X#234@ __SK=HJ/06\-@QA8(0.9,ZS M)(V+WEYU71_(C_!N;?=YU%RN'7[0K#?L$=:J&"N(Z@4R8# M;H/ELQF-;#7LL9N?"25'>3^=176IRB!R73M*JW6:L(1\0/-@5D2%YF8J^R+U M[;3:$@*6#XG%0KU]^#!@.[.VU40%IMZ1UKV%XK/8M'-(.7;*H5EF1/1V3*;L M0G2(&$"+[JPMJH\YX*;7YK ]Q1G$MWJLZ6<[TX+7@1R 4Z7/94+VD D/'^1T M*9![,I?6C!ZSL4:.KO$L=5XF>/BR*$U:Z;)&\IP% M%W4?/**/0I$T5E/&D',"T9.'S:*YW-Q(B/8:;>L\,R=H#%.0LEH0>KY:&9>X MU<=I^VRD.E#69V$JX/EIIM@+&#[P%:.)YFESXD,C13,Y#/Y?_CUAZ%,-@[-K MH2O"J)=:JV[TJ:F:JN$;36!,@"/LQBF45!/.X]0P\H0^,@H^HB?VO_-L Q'C%&JTX[MN),583U9R[E(9,N"LWC5QL;O2-\^)C1O3Q4 M2I*@ PW+=79@,%= #(5?9Z3VKVY:K MAO)DUG!VZJJP]P8,4!YQ@&;-,N:UW;SFB[F@K95MNH! U7@I[?1?57,)QQ1- M>R[.)M8&(<";2@-J!QR_.%'U&%.O4+T3 MR7X(4&B[05R+!RW+E'Z+#9U."77X4:ZKE8N+N8POVG0Q_QH;#NA_&,#Y@NW7 M\,2A^9D0M,4UX\\WP_YLUB(X]3X8%Y7USX'HA#%XL)_5.'!>'D).!&WA'#U$ MN+Z@+)R6YTZ_*I,:^RDU_0: MQ&Q>%:G?I$PC58FQ)=;2@& 5 XW1@WHG0CCB.=)>\W"V[P A%ZC"8M[$"TA9 MINI%==+I;B3EF=#L-#_VR$^M8*^]P :/_ %CV+H5 !!Y-M8.^]E[ @3H5'-# MF(C/U.7!K-3A)6-UZ":)IP84><8P!2Y#=VE#Q-\JS=*10S40B(P__. MF.W*OFAA>'O\;07 MQXX/TU\252<*+BD8?AD1XUUF;0/) W+?TF$W(6)W(4S?&V\3$C;3 UJ'0 V9 M!FE]DC7DL: PKO?\ H.EW=Q8R!5RE<*+/+O4S H_Q>U.:R!,6&JH(&"U!&.2 M11M&43GOS(J8P?ET.9?QD7JV6=Y(,]!>@JM,+^&T.G?/A(8Y=)2:$WVZW X1VE7E6034>C)7GF/#C\:I -/T!,&AT?_T3 MKK[\=*.%%4A<*EJ-^1FN6?SGFZM"Y A76:+O9M$Z%C2(]'X][&[MRN&DZ'$7 MV[<=OB+ZZ%J^$WV*5KE^[O@9D?1&=.--W_5%G76JYM0!"Q^:615&.)%=PV$) MD%Q?]G7XM1Y43=F7[JUQ9^I&?T[VO*J-\(,:93$]@G-F>IAQWPX)1 F[_:=0 M!IXZ58&3BD@#)Q*<6+.I+9Z@AVJ"/8O8[A49=S<;*[8J\B*UWW[MFSU+ M[L4T!*I'YHT:@IU=0["+:DBK 71%6PPZ"#TJB,VA4UQV5JM$0]ZO(6_%D/-K MR#DPY,!C[S2#5HF,7#-Q@( .R967=*FHT[>.'4=D?DW,R+P8>?PN9C"Y&8N8 MBRJJ!2N,767*8%R6;UTS/A\S\+=KR/GCCI=CT]_5D'JW6VRSU6D)\6?]"8SE MBR#+)AIRBY'I;VG(L5&?9:>#(]?8-*;*O*O1-VO__ELZ7< M!9ZHFD!F1,=4365?]1!4,6 7 B[+<]ATC9:M(>VG;UW$IVG]VO*E9#E:C1?U M,+U?-6G15CU1WXE9:GB,VY@O5'6Q?PBR5][CQC MO1EPPF8.F(6,7(*J*5D&V$E^BLWL@;?I]9$R)>"C0G?C2>ZMN_,WDW\;6D ( M.')>SYWVC;6_$F4)P8RN@94WS1E2O_6P_@J>FTCCR+6E_(SG7G73>4E8^DU> MK:]TG>DMF'GNU@W[LSUW'.3[LN?FR<9*6@:--A,XC?J\; ;9ZNC6Q7PESQT+ M:;_9<^.J4%0;%A;PH*K[U4ZA5S 6-R_YZWONRVB!/BDR5K->,^&'(4UL!MRZ MD[ZXQ[TJ\>@%$@X;/4?5"W4-RS5]98Z:S8Y W;C*7R%L0<\8G'Y4RL^$+6FQ M@ENKENIHK+'DJ\# ]*ETZR+^[+ E#O)].6Q9XA0P&FM;YC%O-BA2Z@8OCFY= MS%<*6V(A[3>'+0NMX"HHBAY MC<^(M8IC5A!N7;.2A,/[I(Q=)KGX7BD_X[FQ?+7.N7;.X\O!R"6P8#TI]VY] M/O*IGCLF\@UWU85[N2Q=AR3O=X#NI-QWY%F]YAE+9C&>\RV3\<<^<>OP_1+% M7UO6+T=I#=H!Y?6@.D;2*D [FRG;&?639:';E?;;HS1Y3%#E*5;C,46N**[5 MF)'2K?OK:T=I9]:"?7+I?%':(N>R%:&ERKQA%'-DIHOJXYMWX5>(TBZ10CQ3 ME":+0UVL<+,^'_!DDUIFG&7Q\GG(+Q:EQ4&^+T9IZ72MN.*-09K'5H4-0$>9 M8"W>NI2O$Z7%0=8O1VD=J>-9N5%?0UB95SIU&W!3^=:%?:4H+1;2?G.49F5G MM3+=1V6>;D_H#B75FU@2I<55"T8]#ROU^[DLPV%3Q+#%F2:#BT=75R4>/7\B M,4-,QPNQW&8XI:Z6TV:IG".3$/7=4K[$HL&90M3:8D3U&A@V8Y:JOC2<'/S MDK]^B'J)Y=[?WRY*CJ9YMU&F+(:4RTBA5YX7]?ZM1V<7W1P8OUT#QU*=#(TV MR6D#EN?L3G9@Y$M-8GGKKOH3I1J'HLICJ?IU)=VHK0I5B"<:7E&$A>,ZB:W> M5,'-L53EUB*#E :HP+!-?&+C2)?;%&]]??ZSI!J3!;ICJ:8W+BJ0Z"3/L%(] M*]:9KIC!$@2^J9S6L52]K"\/F?8"\'6CQK.%$NOEJXE4/SD&/GE>QH.;=3BD MXI=Z3(4I#X;E2F&!]GJSBT]@WL +]X/'2CQQ71<_>N;Q0='AX:EPAA02MCP\ M)7J?_-L_U=9%,[S%Z/ZAJ&WX[7[5:T'C:;2VW# !:R#DI"5V>NM*II6);<+BB5X]9)M?(/$VIJ_'$YV/2%-6?6%6 M*+44?E&?DCU[/0BD<6S#X7A)\[(3G(](DQ\0*VW&I]-:O3>JJ/JZ->;B>V)R MC*1YMHG-YUX.<5N"?9:\/\+7=L$2F#[H D-4S>TE'-$5R##*82>ZJHC;NX"V M-U+T5 ,V8:<<_-:=;F\.X/:COP_Y)*BF@@R_B=Z$Y!!4&!=[F-V>YIN\.A^( M&\1J8RYQI:@OO+A ?EY+SLL02.)E.KZ3K;"?G8[D(G6Z[)ONS>& @;$)/EXY M836\T^5^(EP&EN*(]DR51#U2VMW=]0+/"5B0GRUZ0]MA#!D1@K'QV^86"ZR^^FG&'\7J[*R0LVU&[C&!E@,K:\'0 M\YNUX\MB]6W*&&*UJHW6P/5=CZ')=GI(MN=-*8%7*[>TT:W*^+)8?;W[Z7Y'QA"K!RN0#<:U%L;0T_*XZ-C% M34N_51E?%JMO4\8A5DL#E1A7-!]1W4I#'[CYAA^_.J588/75[YG\K?N?WKZM M8TX4"JC"B1SBES-N1ALAV7$E=BF36]C6$?))+?*V54F45!TRX$F]VM+2EZJI/&ZSZ\"<#%;3(+WB MF7)]4"^,J^ZLQL5.OQX%SH>\VA8.OXU9SRK3F]7[F,N'-7,OL/F<>ORXI 3^ MC[SG\-DWV;Z@5EN>[UF^KV4=9S9"SL3G&C;U%X3=F646=NRTZ2WB/$7>Y:1X MV:KD]TIQT!RK57?8JFG&J$&KH%J<@T;L)M/QD^*9-_N\/%W>NLE[4&Q84O34 M(^E&SK5EF19\._PU/.XC?"@LAS/=?82QG!&$(K9%51,Y5JQF4;[:C._U>B^0 M_2#VM]#])TZ0SZ8S@_[2EFJ-]0(A T4% P'+V\/8+7_=E,[$=4I\-IT1Z9(G MF]9JJI6+&--&6FQ1+L36J\1?9V(\"3Z;SO1'4J:9Z;%E))CHJBVW\LHHD^C, M#4Y[CYU1P7=5$[@N)2U\U57O%22<_9:!88AM:P4<+G A-Y]NO2W[H@.C*W!0 MX^\6@I;H^<[C_3PEU11-217U^R=V/6T$TW/'1+>(U*-EU+717O!UGY4:6&&!!_$] M?.A="'%/Y&U(]#BC\1'[I-I86?1)MZ$%AFN-&ZW)JC1,[#,&]_=]S#Z[M<42 MX/5L4:L[@=\!7M6:Q"]S'5?[O.SAC# >4#W04)= KIJP;T6=Z(!R7>#! *(I MSBV'UD7WZ8':H@S" T'N;VLK(6D3*ZS;"%O-H*.N3?H>$=L"CG>0?'BJ]F.: M;P./SR-OVG<]./%QND#?AI8SU=Z+GFDZ0[SGU=J,L1VJ@S3Y<3JX^)%IRUC/.9>Q7F;)TQ-CJ M1MRVC83EDS0,H"Q=E:-VU7#IX\EQQHYMP4Y RS*Y+>G[=:1*VVNDZQ4>H4F[ MBZ='55#W8C?)"*L>3Y-X>);Q,S3^2?'%;^G"M&BVFP):K3%D><"*[KB8'\5S MFV\L=2%N\<1OZ<(J.]R,/$$A>+6-U5;+; :R+=&%6XT??DL7R/2Z65LBV%HS MYG7>UBA%:?8378AMO/ X2X4*PXQ<&!G-DLL8FMH,"NDIAET^D?B^Y QZJ868 M4/.[HJELJV'"3TW55 W?>%)(:/[<+@VR52JOD;$+KD,CN>?&MU_AQT?L>-8.WARV/\/'!QM\ MA9&WD?)_4;_$]07T2]3*S5:#YW5HQ$UB3C=*'1^))0@_U:]#=B3Z]69'?K\] M#CKR^W__]BZW?:N^Z*CB1 ==T7M<)QCQ"\CL$L#YM#+S=OPVE; E9TV=^U^J MI@S6W$JTPU]VW5=6\V9=\*>6MI#GU0;%%36$B&UJ\OR[V-[\ZJ?\?WCQ;PG@ MDO.;PPUVK\QO#IM>,^_![DN+=\'>T^K9^QS3OBAEW^Z^ZJ8'="!9AN&;ZK:& MV:V:4T<,H4<*JS\YX"Q5Z1ZE"42SV'2O+6N#S'C>'Z4W3CU^V_[>$BH_P[K? MU_P7>;ZM GH?T[]F?N>*.A_57T%P\2'#@R<*OLB7IVFA7\@SQH@:3<::DC%; ML0/XN"OX"QS^FMK\X6SEIR/XU&A)6:2&X!J0A]2F6K2=83S/LXRS@L<'P>-X M0/)5$=RS6M8&[]$Y#;!R>EK,BZ4^'KS@ MTPVMV6G.* 5'DX#[!K3Y-E=)+JO--9[#ICFZU$+*V5XKLRQ-8;R=:/-M:',< MZT*VU;>[4ML''7ST=6]E[=0O?*+M6#*,T5AGQ[@WZ>W#&F)T3^YV6%W5U0I! M 9C2S! =[7&64=2!N[NQK 6\U[LYNI]P/_JCMOM\>3 Q2+%+>0BG*(C*%Q>( M;,4HQ+C* XSLA7U&IKSDS M_TWLF#GW!PE\)?0P5+9;Q])^GF<+2T_ "ZN)L+YA]'@04X(?"7[$!S]8\RNB M1QI9+H:$X)<1+#LI:AF!;A2\6(;Q;T*/>R$EV)%@Q^=@QZT@P6Z,\V4I)[:YL\V=DJBB'F:'HJ4>-:RSC;F1 M2BLOUW(\N\9@2Q+?>&VOW=-CN>+WO)&^A?6)M7Y=:WU^K?'/S0#F>R.M6 ZF M540<"?W,=%8>#,U8.M\D Q@3Z+AB%!['.H4_.0/8SAGHK+GLYICZFA8G>6,D M\G8L]W,D&< $/VX7/[YF!C!'B.K,DR0."1RJDA4SMCE!8SFG2#* "79\<>R( M:U[B-1!!T5JN-UMF/1X,+;LS+.KCEG"[(29/FF!S%7 NHRW/M^ 7/T"Z4V M7^<)FU<;XE@8EL;\R(RE@XRQ.3XCJ,0J8VN5!SGXF/E'6YT;S3$P.GP@92W6 MGV]ZMG'#!GF.-'KB(1-;O**/! 1;K^O,0$:XOMJH-%C>G<=SDUFL33+QDC=F MF0_9XICYR)9GS^Q9-QCSQB:0<5N;+ZS&[1KD&?*\B8=,[/!J_A'/5=*]BE+? M,.I2:=5\LCP:3V^W;NPZYIAXQQA9Y>]Y.G]NQ7:NRX@-?$T#7I270WE0R$I*/99VG51LQP0ZKN7I MKWIZT>]AQ]>LN#0DL3W,,+6RMNB8,Y?H:_3"^J.C]@0[$NQX#W;<"A*\,CG( MFAN-9%BSI+$BFR%KHLX'28W4S1GGE>8$MV:;-SJ#9_#&O#S3O1%#MP%EKFJR M.N)CZ:V3&7QBK:^?(8I^O4HJ>N M6[PU1PQD18]7M$*3-[SY(*FD^E2K?$=> M#8V55<:^>L/'-&":;F/,+.B[:\_&5^E[/+I'HCL M1%B]-.@.@XG,SF[7()/JC<0.;[EZPUZ:(XJ=8V4-C!W1LJI#IP1N=PTIJ=[X M ZTR6=/9]B5@94=JE:4Q \0%9TE:P94S?[0M)VGCV\>.S[S-YE:0X)5T<5'" MC+E=9T4$6VP,/ >LA1W$$@@2XXQEEOBF;/-&UW3P(E:2O=RFJZ6GVLQFV^4& MV8OE-H9D32>QUM/62D+SO"^B?OA@V!E/9"9Y3RM[ Y_Q-#[3O/RMQQ^H9R73 M&/+&^_@P8#NSMM5$!:;>D=:]A>*SV.6WVWV <\3;.4>6!N?'052ZH9)NQ M6Z&Z3SX?4O<0C3Y+WCD#417&_")L>XRY^U\^*L6'6/)^-J6+9DLT#E(R\ O8 M ME)3?'L'4*ZR'*QLY*_JQF_1>64I()"7\7%)"[V-DK;%0&CF#;FAT_XN-]Q&./EXI^E_AC=U 25:MX@RA,C>4&69QC2:25X&,9I+;@-1X_^B?;)D)49ZG#X M F:GCP8EA?B(A>[8N'$/F_4/F/O/[%+VZ>ZR=MM<5GA>=;.;A;K32!J[I=V M@-CM&5BL_-!MQHD3*X.-V%[.1UB+541E(J\S;.)($CW_8O%6M9YI9#TI33-< M;ZW5+8[F[-Z7QO,_4<\O$[>$M2-A=8*EJW*46:]ZP' ?Z2 +>X<_F0JW'?O3 MHA'.$[V(%P7?54W@NOMV]VFN'M"!9!F&;ZI2]!*W:DX=<5L2 1GYI!IE(0JU MLD3U%&0P=B;5;"_/SYJQT^>P]N,TYQXTYAG6_;[>OLCS;3+N?4R_#7S^9+U] MJ:ZQN=ET+:*(T@@V7^3M%:WX?C]1TG9 M,:$23.4F$>]9&F]+GE@LHS=D8N-&IXJW^3)85.>FE<_W"PGZW&+TAMVTWKX4 MO1G2T!D& QY'L&'?+H[;77V33#'B'[W=MD:^;2]&EJ@YS(B7>$/+("(AJWF? MCET12-Q5\XK1VS5U]/GH;;KR-96V&8RG^_BBMK8*98NX2<3[[.CM;/)\>C3? MB7E$//1[@XR1 M?-FK;Q@ZWQBT_/)FU2C>)!;^R?H=Q^L6XC89WQA98%.L)3"#-0@F;EEQ73%! M\IN9C,?G@-(KZOR;,'W=)PAC5DX[2+"I+'K!1D;E>!X"'&=-ORJFQ^8 WGAC MNCDJ3&89J]%AZ.DFHR"+32=72#3]9C$]CL>)Q /3[0)1XH:M94LSE*JU;IK9 M+B,G1LIRB^.#$QI=(_I,R%N?4E,YD$V#. M NGQ=:%9!3S5Z&:7B:9\D;G_.35EI0U+WL(A'9ZM;0RW4FN5R$7LXKN;T)08 MSBC.J2D#HD%IY7IVP@/>JS9E@S,4+<&46XE3MNM[^;WK:8U:F?5@8_01UI;2 M?K?-KSIL'$X:>ES)E#]@T_GW%<%)F.48D0$5 AKR5;&<@)T6P<3CPDI[.,A' M!E(!NNQ9\('HIUT3]7X&,617$A^D)S6FG@;3LL*5FE4]=OG/O>J_D?@'6WF9 M^@NMAUY\S\V9=<"CBZ.E4UT"9+&L.&*#'@L($UM_>C,Z<)[]*/?>$@_/O]I% MX/?_WDN8-WW7%W76"7,TT=X<+YQDWV<32H[HR[X.O]:#<+HK ;DM!@?5#Y4* MOZZ,5#FMI4D>U,E +4_%V'K*%\C=3NE?H_>2H7=H_F\,O0^;7FPZ+XNZ-QPA M2)=AD>42;QH(25W^:*.;FMV>GK/TU273Z ? XM/]!8F4&U*C.K^X3=QB"'^B MD*$KFLKV'*?H5@755 W?V(&-0_,S(6B+:\:?;X;]V:Q%<&KL'$Z8MKRGXMNO MZ.*!0S*^YO3]S1(5UP<2+;?5J<.ORK3&3GI-KT',YE4QEHGHIQ(]).-+2?1I M<219E88!HA"X5JZVVH/%ICXPTW%P Q>M)'PY;WGZ;,CI@IS!. M5)>J#./*>Y!CUG"VX*E+^.M4E8#S9!7OL?I$6RJ $\U.3 D41!?(I_C\I).C M,P^CEN&WNX8YN5=EM:R=XPU_,L]F5P5F!6(7FH=@>I*16YP]S 7% +TEMBQ10OCZ<(1*# &_5C!URO2#A M#Q#]=23^#D%+&"9[.0KM,F6BWZA69G2F%[^],Y?U&3J]LKUJXB1ZU.X6NFZ>GP/R#LA[X_3?EORQW[31P\*G:JOV;*+&/.> M6LLW5HA:27ST57MUZO:L9'*47-6X$U,8M!6-?1[YOV.=Z*U>)OG:I\ 3.C_/P.9D!0PP9 M6T;102:Q@Y?D+M&87O0;PYK7KV2=7-O)EBE94'ENY%4HQ?QEI*8Q%^+[DINE!4P0&B' M5[)6 1@RB)V!)?'7&S3]'7X(C:>F?T;\A=7TA3$*T#PB-CJK;IV?4/KZ*TPX M_LSX*S9Z_S7CKW%AT\E-YFF,'W26J\6L,UY6L"1?G<1?\=W#?K!_DSS8OTD^ M<4H.D%6O)$JJ_G3S+I21I2]54WG<9F<1%)Y%TV;]P=&,5"B->/B+N46?/GC\S@005IME%P>?JO5!Y9;3'ZG[Z__N%H"J[G1-?!!BW+ ^X1KF1*K8)8LVH4#Y9X+E]LV.GY)'8Q_1XF MGJ'V 4=>(?="I8EG*Q]_)39QV&*I8S<0'AD@%(>8QA1(L3Q+XNI[XW*-D;*F MA0JI&59IA .MP5JEB%5OI^!'_<6#T375+ M>5AU'!Y59\JB(T.L*PHYB::U^GK49>JJ-\J@O%VJT0]X9FROQOZENA:!H5F( M%\7]._8_[3^'+WGEA=)N)BUD.-Q'S,JTBJB51MFDRD:VCQ^_-4Q [)_YC=>Z MX9X95V#4H3V>310#4R 6JL)@W\0)2 MEJEZ49UTNAM)>>:5X1/O?V$QW+P,(EGNZ*S6:<(2\@'-@UD1%9J;J>P?G&X1 M[78&AYVUH&. .&HY'Y3ZT?/AET5@6@9T/R>Z?2N''W7QX_'HWR']K8\2C&:M M.LP$B(B0$QPI5JBR73".91'JW.Z1EX7Q0UW_A 18OB,!=_MQ!D0Y,FTXRE__ MP#]2KA?H$"$,<9U>J;(W^PGQX'_^;8NRK)I*6@=3[R=Q1V0?OG)497;_G>5& M1R?"U^ABN!O]W]\>]2KI0'1^3BQO]N^G+SAZ$O(Q/0/;SG-W"&%[86=BQ"]A M@N4D$L*4@$SRDD"(B"B(:!8"))!%1)Y*(#-%8.L?XJ]_[/W+IQ!BTE/14/7@ MY[_"?4MNJ@56J2Z=H#?P;<^^?G#G#J2PO58]R$=>.;-J0(D[O!U M9+S4Y"VT3DZ(,'N*C&^_^%:UQQ137(_J,5SJGQ^36QDXQ]!\M]JKPE%3K6** M&=(5JE5F4C3;;%8YKLJV8D;-X^$/1'<&[=JSS.^IXAU]E\*0#)$_]Y /<)L, M;?^#2$F>HO[33"![;MZ7V&YSRVGH=4W+C"(054KMXMXNF'YT;I@RQ3"DEX'Z MLVA)T8PY7!'Z%CG*EN@X0KM!!&)G(8D(:V_6I077M;&1\LJ 423=V6K&HP'' M"T_O->6S%"/_@6'_U10=+<6:X.^;YMTN\I(S.)G-8'DACTHY@<"(O ##!5) MI$D& 1@Q)7/Y7>2U?:(G"8-B,%\LP0Q!2+3-+P5UM@ %!2HYNFOIA04,^]'M M@@?)TG71=L'/_3\.61".>T=]&$A&5F1Z.Y*W4:KH>];^BVV,&GWS*))%#J*= M;9OPFX.P%([/<_8#.XB:PN_E_?=+X'BJ).H[]F^CHETOQ!V"_\^A*':OVXOE M(#@^Z-Z"74YU:[47R/YS>N6(]L^) T0MO8)L>C7@WD5HT8OW3<4)C,9\#SRA MRY97LFR'SN4[;+,?[ZI\"$72) "2Y^( MNFYY$VO][3+^IN.+#AR7'G2!;3G>M[W=SQ=UOBNI8"C$R[IG"I['4%V>*K;8[J-4:K+M-EN M+]7FNQQ/M7JI'IN"H6A^14G0O_!G- MX\0#=R)U_Q%A[<5H?-[IQ'KZ4K*)T%['TFBT$ 1 >8%[+O+2^8;>[^(+!00(!" 00<3)J9## M23('_X6(4^EI\%A;^FM4&*?K_ (MS '':DVMVKE \'CYR-"S['TH<<6(Z3A, M"O-TQ^1=QT;ODW]OU*RWAZT/W \#@'PB@4M)X/6PVH#=Z> MMA WI_MI,77/ M$M2+:X: MA:GP?H"4-4UU@:*Z'O0Y7DIT4YP- MI+!N34ZI9JKJN2EZ%J5V_KYJ,N=R&-Y1" D21+R!)$3T DI M(_G,A,R@X.E$VN%71;,[Y#3&+S5PC,P6W&E)@9"$/&U)&LH\C_78!I^NUT9T ML>76*K,5;(E]_?6:_!V6N='EC#?,?+$[ DLFOI^>>GBL8KD[_)I"^,P5LZTU MO58N%K=)XRO3?S>\1]IVK&48GYT]Z;X-]:HF#*GL750575Q-A_O]G8"V9'"? M"]"';+.,M9H(XD_$TD:HU^EE:Y\+>&O\]^U7$2K*2@QK>9^)TLX%+U<)$UXL MP5/('(,QOS]DU)W.W'2\)^LT[-6YH%, ME^;*Z38S@S%31WQ0+_6=;CV1@>$S$W12?015..JY0_UTK;%E08?:S: M#Y.M2(*-Y5ROXS.19$@A/VM3>M=7FYUX2!!#NK^I-K6]JM;]._479'4JY/6-)V?_W&6QORYMGZ'CI!P@/K%(KT5C_(B,S231A L&S,@?5C:"E$'S?[;3?6 #NR0O[LEZ._AI%[WPYEF*C24 M!$\_RNP2#![A##E<5OR>VGW8>S(8(NV_*JDN5/'4"(B0]^HT7%\T%2"GW##L M2S5$UTMM*[?^="%\?"TF'_T87GFL29"29D#24N%IFZG5#$2YK;#2Z&#I M]R_T[VT&=R:ZJ:FJ0XF(NIYR(E&X\.^%KSKP2\]*3<"N >R8 U%R;/LHBH>I M,S23^DO>=08CF/ ]#Z<-P3!&B@2>HB0O#'#"K1:IO\)&(0\QY-^'#:*OT'__ MG9+AX]! PV:V R00F2N*I:(R?C?U%WPMG+ND7!_.H=V9%2Y8I[8GI_=\PGRK,A>/T6G?<>#PMK8%QQQ.N'SWP+\,NI _:A^I:Z Z M<\;#617D">45)1N%!WN<+H1\Z;$G-5[;#IZMP!K X882=[?EEUCFH?KRK2\Y M_+-EG1+ VTM C]_SN"#T3R_/N11$A48([<]0/0^:+?3CDN=89IAMUH,46 (G M@+X<6KXH1=.DHNB)VV*S)^#UT(?M.ZX?=@U_Z/JP)8%D=B4QOK[-\'+IWJ71 M9SN>>SR!,[OKH\4!(T,^[L#C "VR!E(JY+F1K=$,/B5KF7)I;GP"6B1@<:M@ M<3*H?#3(]\&!"L/*E Z?!RE1DB <0,6'!A5:D!.Z[Y/?IJ#.I4_\X!H01> [ MG+U[A$9E0-J#,**!?4'7'@Y422F.M?)F^U_O8&@#HH')8*J:45%(E+?9!3// M#6\7V.R;'378_?Y]W^#9X>T["J.57=MGAKIOJ9I;J$.Q21I+[0*TPZ#K[D]2 MRG.OFG[[U0A%OD6+ [%NO]C)]B)(\EX ?3GSOSVL,!JOM#NE^$+Y_]!#._N3 MD \<#,KF-IDN6I;XNH46%=+KX3F5>H7YU$F.?]SG?(:W:3U&I"MHRE%'C&'- MU5/]O,$3'K3GMJBU?> >NK8?[U'I[3IYR>UC6UV,!ESP78@'[N'4B',&1IY8 MN;*FRIW6@L@6=!D_J8L?C@/.IYI'+9GG'$*<6+\?9#D:([T=XH$(E#:##Q=< M9L"PY78O-V77YE!;75($?Y 7?$-H-GTA"OH.@XJ3D9LZ/36'BV9N,-(QK6CB MY;O;" HJ%(A.C? >]K_M9E'A["I\EQZ$+U^I\-5A:&9"VJPP*()\BB*GW1G8 M8< 55GV&C=W=Z:!N*ES'5N4GL[Y=_BJ%XG^)?Y^,AE*_M3GTS]&AS\T%1,&_ M.P.Z?A^H_P55*XK"MWM77@YRGY]BPSGJ^\.E3W!-(:W'L(C66;TR4W(SOMR0 MZM!K3:>K]I4]T_DGT4]]Q;==Y>W8ME[X@7CWE[1Z7T-8ZVN![G:;.ST2^E%(X8+<=L0X6_W+_? MK1(7QYM8J\0.?+Z22NPWMD8*;";[:S". ^3&_?@M@/WTW2^QV M8>ROKX-3K@BH[W>I+3L\+7'U^0SQF^2(*$ZIDI[?[Y]_*9 /SPP)5V ]2]*^ MI_X;N4,S*5MT4DM1]\''CU^Z>HP6ISU9CSU"HL4[=[+U)O M]X4.\5Z79Z/6K$$#,LO0N>E@V,HW,O0@A&/B%5T.^32R'&T+R/>.]57]_C-V M1;ZCNB',19K;\Z]@E+*]'2ME^5Z4J@YC6?@M"&,7ZVGZ_+Z*60HG/R"J-)"V M7M+=>DG1W3^EPU>Y7LJ.JGBD*&$3'GQ\]X=7U7XDVJ0?L?A)(/(SM3/S4L1I MV"Z\-2PRY/=<3O?HA&JH';+ER4!2#1%ZH;!@&I*,/(:)[>6&^3U&M$:MS'JP M,?H(:TMIO]OF5QU6^9;:]>+^YUNU53I1%AK1%IDT%PV0?5#$@SPS&#C]&JB7 MBDBZVO73(C+K>9M5>'; =QS-?2HK M,7#W1P:B=PBYCWM_WILK'EIY='EDZN&?_[X_>NJ--U*BR!V>>7HEY?[+,]Y) M^>U^B0N5L9R<0V1ABLDY@2!SB)!'\Z@PQEQX?#-#=5O55IF+"'FIMUB3^E?5A/&OY;LPAG&_I^ D"T8>82')-AX)@V#Q M[VL2D K_/[?]^U5B>%/T9=4#\M\/3-^9$H$ ?(+G,"&7F9+P$PJ$G$0"@90R MI 2@D67!_JJ'^Y5=BTC/,=NJ44C9'U:;+4S&J?K)-> .Z4R0^MQ9,/Z:-#VK M6)KA>KBNG'O:LD3JJ^40:Q)(V17\3GM272I.Y^#4R_N6ZB2=YGVUZVGT9F$A M:KU<[RPHV/*HSR$WJ_417+%X,$=-I&>ATT*Y(^#'?:Y7SL8W=*A]X 1A5>O7L>K02B./E]V @VTUC3+/,H 2#:7.E MSC-!V/*())&E?'JL3UI(T'?7TL*5;0V$+8](:J\G*NZ5-)8/RBK!E"8<)I,4 M;'E$4L&;&<5.S:WQ ZE16;>4[J)65&#+8Y+H4F\: *]3XLFE.Q[.-FO-'J^$ MS#%)R@(;;5:]ELZKT[DGC>69BC4I@3QN69I45KR@-]=(.:L;2WPF.:.U(F2/ M6]IYIM14"1XZ:FVBNR+)WA$;%@%+)I/5-M\[#IB7J* MN>&-AEJ.G"% 4];]8:[>RDR@A9PX&-99CG1Z+(@CI+ST@XDA,(&4A6:'GQBK MKV^Z", XC5-=Q-E,^C6D!)N>T"AZ7NTH]:JTX>GEQ"[-ZI*O#*FP*?FTZ6;" M-^:E\F"ML?((S^;S:HX7E; I>J1^Q+@S669F384/D+$@SXU2CC!AVY,* $BMH#&65F'3HUX+A:F?GO#K 4/K/:LR,H*9/HMZ/=+J09]G*E[! M]'A2"=!YT=1QS(IZ/5+KK.WS2@;+M1BU,:?J*(W)W44G;'JLUR5MM92"%9=# M@DH_TRJ5FPTJ#=N>4,*1DR:,R=J0$+$V[%.KJ;&T \C9$UI8WI2Y54\JIQ'2 M)UF/6Y-*M;@*FQZQ8$SU*)\GM8 Q^"S3ZXC^I)SIA$V/6)"S&GZ[7A-)QJC" M_C9LIMJ<14V/6&"(:KHE6@S/+%KSM"QQ='7"1TV/6>#AS167*7<+?+J<[ZRI MT53B*2B$$S;35)HKU*.7#E.?BCA/CWF!K$9-C^C*-RQ"'0PW&Q[#*B+%K8*! MC4=-C^@J"LN,#32BSR\*2]7GV$HMS5-ATR.ZL')UQO4:(HU@3E,NCQOX1%Y& MO1[35;#+2Z*[B2^.\1X5-CQCK M\U*;'TIC@U$'I6J::4V&*TL)FQY[MQQHK^?#Q1(!O%=/5^L=-#N/QHI>\E[1 M-'*7S>70;#;S/^\IZD+O,MG?O34JDTN.;[[F\?+\)KD#ZB1+#TG^S[?,MX]2FH_JLSZ;U-_:,CES $@UK>CP M2B8ZO)O;?LX5WJOX?J1R42;QH( M286'#3V<*I+&7SR[9'O>B.^F%5&T?W;!$I@^*#F60<-!A#0,5&]&^RZ4$W"8 M]>XJ3BH\W<8%(1.8[@A$)(B2(D"#"61#A28RP:?HY8A-WMYWJ"NC AD36L2Q' S1093QT)Z2FVTDD-$"(_ P&"0@.>REX"$;0XI M#OIR'DCX0"+INI32EAM=->]LUJGB-W#E1([\=U ^;K3& /(_ M)5$4VBP[W0'_J100[G5PDBJ)_,#H9+H,;[ESO@/'%J: T.QW$KD(EB=V'R-; M2.S^ZZ6#7K/[8#+*<4[7KC*+&<%X=8H9Y">AW9/??N7Q[UGL^!SJQ.P3LT_, M/MXYG]?,OM@ICKA)NBDQG-^P>JP[G$['%#3[,)N#9+\CF5QB]XG=)W9_8YF= MU^R^D\=9JJ"/Y[Q:U]/26,R;R#JT^S!G@V:)[QB)72YG24'6/N?:NV7S=^\8NUXHR[D%NT^GVX/NKGI M;$XQ:FCM9+@H?ZD%N,3:$VO_XZS]4](V+UO[I,6.ZDHM[R&! [+Y-CY6A,8* M6GO^VR\\^SU/DHFU)]:>6/NM)&M>MO;B=-#6"S5SK-&R,*P5"PIJ;T+?'J9J M".([BF62ZIHO6%W# 1TV4+ZG%& "1]134(=3HFRH9G1I<7B&7 JL;6"Z2>5- MDI)/4O)QS]?L[+F\M6;*E*E'MLQL3?F$ ZCELTNM+>@$$U0]*?"Z1C 1.N% MO_U"D>\9!$V6Z!(\2/#@QC(Z'\8#H2S*]31N^AK+!7A1W&2S=B;$ S+"@WSN M@ALP$CR(A8TD>/#U+65)_?2V H.-*SA0;\C^0LN M]21X$ L;2?#@ZV6%/AX?%&MX9372,II1FHCFN.X@YC3$@^U^K.^9S$5.<4A* M>ZY-_$NE/=46S3:95*G+-E-LF^E2O2K;2H[T298&DJ6!.">-6!N$KS.5JBE9 M!FA8KGL"\:M82R=LFLTP'-'*JIG<<*!N5D(NRA#AWS'B@AFB.&A#8O6)U7^E MU-#;K)Y7%CXRS*P*6CDWGP[)U3XG<3J$ZN_F33/VZS>%O3* MAL$##V'3JD2Q:E#$20I:?933P;YG+E/SEQ0!79E2UIL!)Z5&JO$]90(OR=PG MF?LD8HUGLH4*$B#+=F.-5;+S80?" /GM5P:Y2)5W @(Q M,HP$!+Y@4N>](#!8%P=6D1LV&= 5;3X]MXL;78$@$&[N^D[D+G@#0P(#L3"- M! :^8);GO3"P*%6& [DIB;RQIBJXQ@ANU@RG!-$!/=]1Y"+W+B0U/-< M?'W%S)N-CH B44%0]CM^F0K0!#X2^/A3X>.RJ:3/A0^FE=%Z1;?11L$"5@ M9_042?N34I]99$DL!'9T6^:428=^S9'(346+PB<'?3';G-8-7&]C*R#I= Q'Y MP_.'B.^Y;'+Y6&+PB<'?3/+F-8,?M:M8EN1K'F]T#;Z:Z=+6LKX*#7Z7LLDB M%PGIDW*<*U-:LASXDYF2?,/_1Z4_VE4 M1P ?)S0/$?ROFT[*1)N+:X.&#H&=]L0U] 7P03B44TY!7/A-!PW2C.HV^X15DGRE!Z- /$KSY(Z/*OD[ M08D$)1*4N/IQ1)^*$C6\W$:M-!'PHE&C1_JZWVA4.R%*D-]^D2<6^Q.42%#B MIE'B2Z6"+@883W%B;6O!6)TM%0;T#5NMC#NS%JF$.!%N&,LD!Y\E,/&U8.*B MP<3GG6?TJ<%$%PTL'.WR18TF&0*C:KZ^6D13CNV)2/G,\24WYX@GDM*A*Q,/ ME0/:A@/@>#= 3NE0PV#O80YJ*:JZ.-%!&JIMVH7ZDG*!Y#NJIX+S9:5BQX\8 MK3G$KN(R#H[F%OCTQZ;#J#UF0"?%0<3@[@'C?=ZHU_/'L_[*:VE? %("2/%R\$D- MT;4I?6G;%\TVVUVFPK2X:I^YQ :P&Y7R6;?\XM#T9PUNLZRWYQ6;$>DVTRO)+KOJPT@J$]4*H=]S^>1*DP0" M$@BXJ6*B]T% &96:8ZI(I/F@S1"B,;1Q3.R$$$"&EQIE\&2)/T& ! %N*@GS M/@1P5R*QZ)6*'8;..;W:I] @$)!"00$.,BH'<& 4@/ M;WNK_( )>IUN%FV5&Y:R"B$@+.#)?\]F+GBL\XU"P%>HWWE$_%$:Z), ,7'E+VJNL M.FX=.H'\+F%&7#S03, B'D:4@$5\P>)3\U[/@P77;T]Z>86M\"3*UWJY*;%> M=#HA6'Q6YBL!BW@840(6,02+:R2PG@>+E=XK#HJK2I,I U-=!\QRT++) EOX\L\XCHT*Q"-YU"L:>$8+'+15T2+9** MKQCEHAXQ8MLJK8.I%XTGV>P8B_6//XT1R6;'Q%024TE,)3&5Q%024TE,)3&5 MQ%3B82I)&<6U*7WIM(D!4RU7>DPQ1?69+E5F4BV^66"Z*;:T/7F"2[%\C^M1 MK6*U54Z.H4@V;"8;-A.-3S0^T?A$XQ.-3S0^T?A$X_]8C4\6)6.T*)D<0Y%L MK8I>\K__A9+(.:XV_8K[J]YZ&\JN7(51A_9X-E$,1"6#7FW=Z:HTT[GFQ8B# MB&P@4U"8H@):OC$!#CN-:E=]:_%U4H5=2L4EC^EKS+1$? M%]N^P^-4B"ID=/<:BI_:I).@2H(J":I3OH@I.B%8!GZ*J-N@W0(G5LOBX M',V PCI^&*QDT O>$OEU8.6VZB"2XR3^O'U<9_8#L2,V'J!_S;37SHR/L/\$ M["_SK)O>U)P^8M28H8L:+%(7.P(/A"^:MWP(/I&3K3 ML,I3'I"Y8@T"5W5L42$\;#-8&)%-X"&!AP0>OE BZAWP@!O='A%LR*$V6,Q[ M?9L=\@@510_Y7?1PP01W @_QL)@$'OZHC-([X('IE?6T9Z,C+9TNCY=%AUOU MYE'TL,LID9?,*=TH/GRU"JSD6(BX>9"$$.#:$ LRV.^:*XF&H S!CF/Y'RO%LT4MM=A7 8.;K_@X8^F(D0?=D%9^:>"(00VA$@M'TA$""$V"062>BO M?X#L/NY&;;N[O2"[3LRX;3E=4%F9O\JELE(W,XD*[]^=>G!>X3*/R<:L:;H> M>-E;IAD/:WX09P_/UKN6S<_._M@*-;>VT\*X%JQK\<:,S%Q,LTE&II%_%P6N M;6AQ]L/:]C5?MS/R*,X^\+)'1U]JQ=3?>J)7%NGOL>CG'\5XF??V;/_^M;$O MQ0??'A]!KS?<^?:-?R"/]XCY$^=+OD[*L*.=JZ6Y?IK_?K&5^7:"/Y[4U15] MKBH9]N&O_V1?[H?575,+<^38?,<7+'_,W88*P__]-OO%M\*(XB6U0Q_,HOCZ M?__/P]G\'1&'], -PC_O-\$'T[Q[-%K@GV5"J]#4'$A;9P_^4W./6AK=;Z_T M%^Q^?_WSZSZ:\Z6&P%\PXK]K#[[/^5-BKJ>=H LU MLE9AF%BK^&K=4#5:IU4,-S62T'24@M?Y8FCOAIZ/Y088B6=&]5IWQ'ZI,:-6 M35::^)@@J^.*L,&IQ(YEKU;+O9&'0;3'YS==-9L",6*XF=SAN M(K_G! J4H/[>$1Z;S#];@9O99E&V46=;S 79F6"L,SEJV M/VO_^CJI.P&D24PC&KBN&BO-4/&U::H4C9 JA:#$2EO#Z&I%W F@=F_PK7LP MMB#&E*>@ISXY(-(#HJ=,;J!^3QFGK96VTMMMV&,&G>;A>+#T1DY9&O-@B&*, MG'!2T4[]57K2$V@P%C.SMS3F>F6L;2-H23 ?++C^OGN,=MV-A&X>F,S)*#W=Y<2QT/;D)DXYBHMEP!7O1]$2>ED;"AIF$ MP&529JPL @_'.-CDHHWML:S1M+9.%J+"RG(V*77E7SNV/5AZF;.)I0HQ*SH?EM_5;9C]G6_P MBH=BP>D@K+;1(%/3*PL[7?O84+"P P1_8E8=!?23W.:R?FB>@, F,NYJ2E:7E(R*&[[;F=+:P3 M<8IUV/92,;\(HO0"*(_CR8X\"-Q^V^Z;=A+T)-O*S_>7Y75-#,\DMW+VP$',7ND1Z&*FCUME<9"\01I'8 MM/4.Q64O<$5<@KXN,<%B=E10HD-WS%TRW>:5C%<4MF^EV\%(9SU8/M"AM^ZJ MYJB3 >"5U1K0$][#SHX/)\-I1^&TPYZ$Q3PD\2VI"J\P@S(-2L56#22S;="& M2E.KE;HF]36BK6B"6/W"7WRWT,_[&^S[24SZ*MZ?N:FC0&V_.89ZV&:[RR9Q M9<4[Z\VAO5C/"2[Q>I!@C^26KQY5[,J*(\M@K2Q\5(?W=GH($WJ\#_)1KZQX MDU%&S)'M'KG]CEUW,4.(O5XVZI455^;QZ)0FUA%.!J@J2\T-NEEDV]@U@-"& M;6PW2!JX$KPN&/MJJ; M8:^H:%OW/&@A&WY*,3EI2>F:V)IL^#(7H>>R/W-"I([Y6N"'I\=7$N M\3X]-V!VD?GG_3\I.+.;,H-ZR(ZYM\[EQ?W0TOBX/Z#B^]1?/*-B_(@ M1'1'4W8VXO#^Q>[MM(OU]620ZN)BX5^01R^#?N M/!@_R,9LWL\N\LGS*Q6&"7\1%^$N#?/NI_DZ*H)>X MZ847&%*_9\J+E#Q\JF7''MT/*[CLFI]HX>,K#[ ."/V36/?M439D=ZH59V3> MXB3;BRM%?O(4@-^O@=_'E@, A154@3?EP:3 1,.(N$P$8 50# MJ,:UL/;'X<--NA./'C16)(D;36JOL$/>Z!*_6F[M8\[ZJ2S\QYPUD/#/,^LG M,K.5GO1'<.Z^N[N:U:)-3?,S'S[_QMPG]D%S\R).8+]^>/OU)>KXJ^.L/;]T M_QL!>#BS76@69STRFMISFQOD%?Z4SK)._[20N+X=+PA$V;5[[/';TGXF4H7U M@YL]J,'".K%JAW2\H+W 3&>@=(E?;V60ZS'C&_D_W-]*S,2L%H9YC?=4'_B:P[M6,H0?J>@71)J$_ M#1ANL';0\5I>]4]S+B^P:Q3]8''D!RV;0*P#*/]MQ#IN0O=?SZ?XJ*0*K6XGUGJFA%:F^[DU0R!U D%>RYJI@@G\0P.'T?7LS>*H%IJZF1F' M*]>LUWPS!C[>A_?Q7JR?)0@%5EC+.+=9A%&IW!S"\3J!H2 !, !1($^A'7TD]C@-#V+6O:XC@)Y>Y4- MSJ,E=Q S;,C,)0*N(\_!AEN/_;#9'^:3JVE19(+XSTV[@"]LZP#P>ML54=!''>(5GU2YKN:]Q$6O28'NP-E*;5)$-'C?)K*#-K!<7KC0;U*6,[0KPQ MPYI^8=M+6S'5FGFU7+=WK 6M1-RGP9( HP!6#*ZX2+*C?]FX"45[/3G@4IL:=L MM.4,&2B0ZHRI]HPZS;ECVRG1D:B&2'YJEU8N4*2^;.#%5OP-<4]B/%@K*'C,-@E[UV6J_M M7"V/ /E&4>BURP])@5,^()$/3OGZY8P5I- M?7BODT'FAC$_E4/580Q[C2[R0$EO7DFK'D+YB.;$ M(XK,CQ@S,:S3ADL-:BXBN!E)@I4K,OF((G_ 0S=%E7BV;I:=-SR\G+(!P97/ MX3Y]YCM2/ZSU\KO$G70WR7GZ""#.Q@/NZ.V7#9BU?)RTS/$.]YB\ M:W1NV=1QY!4-FRK( T"(:C "1&(J83K](HKH2W),AN-!P"7T=MQ16Y,5)UDY MBN1F59V$GW$KURT&9%KFV@Q#TZC%VLE\8?OILR% %=P^<.'.K9M!]QK9]?7 M,R?:Z2N.78&MQ00-;5T^3)S9.=Z?=5%WY2)7 $TCT/%P/D-:,,3)V\W"<;JCA%&1XDIH M LYL*_A:U3M0<*#@3QM"E9OG>^OW*Y>#7='O,2'O [0OZ[!@K@RT32HSTK9R M_<[KP"BZCE/7JA\^6#BJW._[H04#.MI6PIG\;(RXB8-,[\(9H"M 5V[O2,_O M,.;#Q00&7:;9'70G74ZN,:-639X(;+\C#%J<)/^_?V#TOVNAMX MS3LAK:04'6[14[@/1TRNV'GO.K*.-8C/48A0-E#"Q#1JYFEG^I$)ZA ^OE," M[O[\>-9-KL,#6RM$VC8?N0-YX'/V<+:&9MQLB7"\DR+282BJ:''Q)]FHD^CK M&SA5D!@ #>#BS\H@PVN:1\]&!I[HRJ,.GAE);*M_0OL2/X(D)D>&_%0<7:?( M9UP)?.OQFJ_=?=V_6086D.VN362<>>HHL5UI A"UG&"!&$@@!8O6@M0@;G>!%B\:9?A9X"% M@X<]GW-WKI/@6+Q:MB5_:XHY6&1V$TW641+Y')&EITZ(?-OB#IP3 ZO>>$].>T8&CY<+4!&B3L*O;TM5058 *("(TTW7 M4SY+W<\-@VKL=ADH$I>K MNF 21), BKS=Z>"J,>4F0.0MS*I'0220]CO5)28$/.NSDK5P#LU0%',0N5RS M=?7.BD\;9@+A)7#SX5N'GRHW_YL UK>PSJ[ :?M,QG%GU$&Y/FDWSL-T,/:V M&9P6UZ>B*%PG&]>:P8.X%$"3-XE;56[ZGR&N=2V]U_.5\*RC(@6,3IF% M$A]SG"@"6E2=H!_K8G&+ :W*W Q6(39\FDJ83W-W234O^/ILB_\Y1;YRI6*_ MPX7/$%1@A>&P.QERH\GEZBY6&$VZ(YX;L?EE7GF$X9^1:=9&09R]4:/H[D+] M"[@)'SY]#>X^>>?]$C "J$;ECH!\TKM/@.OXWB#PV68-KKW\/+/^G!(.KKU\ M_PW\,;PCB\:Q6> M/3?0G7IMIX6U@^8F9NV_'L\1M^R#;9A%ACC::*$9J=T^BP*S,*')HK+K[;C!BLC5Y-3;\3+[\S=C@V^A$'VTF)QCU)=6RES2Z MVEE__ 5_0:YET;_[H+8SPUK!B%IA:R'_?NY1@SONPI1P:J(2>)-$&8:9ESEFH"<6T1[)^'POHGYBGP:C5)3?$IX?GWR;R4Z MSYJ\-%JU!&O;\!T/<=E)]M"=#AWS1HQP'8:?(S67^=>TK\^IIMA D:GGW#L& MH1&9_G-8)R1QE+]KAO%7>3=:(ZMF&(53A<:@6DT_?4;/I^\'RIL:,HOQ\QS^@%?S\.1'%N.(KSPB>!JY3'?^Q8 M;ZY@D'V"+HO[9Z?X1V40&$)[UM)1!!6?&/-ARS^8"8B3 @VKZD&9GU>P$\UM<19%+9BWF^HDL3O+MGRLDH)] MA#AMZ1X_SPO\#^)V7B;S\\Y6.!;#?C+@*04=Z -*.@RU2#C>IL_YJSR8#58S MI;,[K]%H!P4U,"A4+A_/:A=\?T>%\P+IG.5S'R0 ML\BKBBD0WGPE'T(]>_9?"%&G4*J.4O0/F?2,[3-5E#71FJ24<2P?5+V,G,X^I [D\1L M&T&P.D9@=9(H7^A2N,L? "^>8LUL-'3W_'($*>PN'0U6;?EL"Q?6X#ARM33H M7O0?!!-J6ESK)6Y:PY!Z+9]8P;Z>YB=:^/>']5KV9SLS&^5@NBE(GWWX]!FX M+^^#%20_@)?"<+U2;9@0%"E-IFU*X9?'G@;F<,%Y_>6H+9.9!68S.1Z0S\:#6S]%P&1/SV>F MN;6=9AN0[==T;6?'F@MBQ"!&?&M9F ]BR_RME.-,)[L^>]'(!Y!V!$9>NUR4) / KI^B_F@#V*F_)*JZVM2PZ.Y MJ2GL09?0Q<#BYP23JSIY4744IC['?77?63.2&6L9L5$SM=#/W@-TW 2.&XCD MW)CU>(F;IR1;YMK6[6L7>$[%>:BS"N\IGC!:-F,56G+C#!+O M.B&0=1@N9TI = > !(CNW*+9]$L8L8+;Q'E\DF6X'S3;Z8);MAFXP(CBMKE& MG<*><2OEK4=\!F84U>+0U*(D3.\/\6AQMGI1?,,',29W,RILYCOSN7B[J[E% M<9C,#851>K"&3_J#-I>TUZMC'O7#&WB=Q,IWQM]HUO7GV&+WN&F3Z,1CV&O& M=@=I<;9CB44PE"+K)/WCPP;OF67]G'OL9YMU]2*1^;[YS]NRK;^!@Q_E18@= M(7NS&-ISYJ&K[J$1V;=;HHH5'37H/)!8QH&7NX_ML\GUY]3FRL4:7T^97\T( M?I8R#_K09C81VUL%@G;Q4&I:2&]JYE'F6%2>?+7"K'IX]ELKT@U&R;(RQ6AF.4\R99N%]K M)R0V+<@R1BLX3:1C1R1/(CS,(+%1)($IH@Y?">R#(W &SY-C]<;2_,^2^N9 M3M/L"7"4*.AV96NM9MM4?2O7^MP0HN Z15_KWOJ1(ES/,XX>M&TM^JQ\:RQA M-+A<]UV=4BP#$B-(5JY9$=3\K[>+:55A[I_;P'K0J)'QC6W3TI59,O:K@]?6]##O:N5J:+YKY[Q=[R?SG M'[_CWW]X=7+/Q5_#/OSUG^S+_;"Z:VIA#CZ;NV=_19+\,7>P"\/__39X\:T MHGA) K$'LRB^_M__\W V?^,CI =N$/YY#X(/IGGW:+3 0\N$5J&I.9"VSA[\ MI^8>M32Z=X#H+]B]#_SG5QS-^5)#X"\8\=^U!]_G_"DQU]-.T ,6WL$OY)KK M^$_J[Y\+E"P^"**B1NK/T'2U_.Q@/NHWXQ4K% >[-UR>W]_S'Y6Y;SETC0%: M ::J3J\T>(4V5'REH2K>H&A50V!-12F30NF&!J]U,E\$[>T%]1F.*2/QS*A> MZX[8+Q>75&G*W5:7D3(?]:L;6L'W9H51BQO)7-&L5!8&W18SX7*/.OOGTLA4 M:#\G&5'!J;4%J3;I<-G_)8Z[+$IW7AL*HTE'KG'9M%NUGC)8_'W2-R?)OD%? M>U+?X 1"?\&)C*H\T^(3.]][+G3_^?K5X M:%*)!X]%,:-L?$^Y1/V-J+##D2+'.)F2[";JR%9&B9#?DZX:&K]GF?F<0]&1 MUE9@-]*'EHJ6'Z]"XN \$98[F'<)B9QN)SB6,!DE_CVE[!A)W$X;.XYD=_VS M-QFW8$+,*$LONIHV:?:@;"!E;Z/T5E>5F;'-GX[ WY,V2'\6.\/.2C&9Z7CI MK:(U.BI(2RPEC*W$0,1>=D@G"$P>=[<-I2 M3=]')[V#JD!=AYRT>@F3F/-A M,7V$_IYTVK8A3EV<687="*FTG#1F0_R82S-=)J,L,?7$86EC,/4=);$-0:.02=P@\C%+ M3%UO![[0<)"V0O8$OQ,LI\JA>KX2'&8]AND]1LL>KV-^M\T#)3 M6?;0W!YW5 2CUNP\$5.A>1@6HY:8"H_88(T-I3DG#PY'&AXVETI:C%IB*K1> MD9L.RARY1#G WE2CQ@LQGW^9J5@0L6?K'*QA-!C(\XX2)*0NJIFR?4^9;JWN M<(_/?5AHZ$G:;X4>USIFE"6F8D%C.UE-#YJB+9JM(3+IAE/?RBA+3'6'0=A+ MI_8:[@M#GEW"V:A6/F:9J6(&))K(8RI'3O?MHS82I>M W 97ALAA*X9,3EIB:O\\G7;F35B$O;8A MRRHVI ]F/BI:>E>OL]LLU)CM*Q[,AHM@'++[9D%:XG_#8.7U%-,0A83W:YQ+ M,[\X RJBS'^..?N'O6JKG*=-3=3WF?EN?,PH2V-Z.]%7[2;?4]"]U^]-#IS= MU:R,DBCIM'\4=PRVGSMDL&0)0[770:92A$I]3XFZ4S](VL>S T$;6?)72[JU MRL=$2LN/Z"%'4)/E%MX?89*2Z;%^ZN2#(J7U[W-NV.1GTSW']P_[C74(L:-7 MS*DT?2R=,&%S,$\5N\>,E=5B(3F'HTJ6&46+;//0'6,X#$W1\\SV3CAM6QEE MB5%'0FQO".N(5-%(R7V@,.ZZ>/[[,T[WM MB).C' \=VYT.=EUM=%0;94:%3DO% M*%/8*?UAU!S/YCJWS 9ME!DU\^/0DY/5GO-$96>=SJ)DD_F8)49I#A;UFAO. MY= M#7D+@Q(2P,=A)4OB ML/EZ..A3:5Q"T[A))*/'&ZWO-$B M?WQY^JH[B#>"BH\5&Z1+2/;^>GR_)LG M(^7.P7BE>(1)).F.65Y_GV274@!+3:R72+QO&BXVC(9]--7)M6:\LQX M[O.8PY/'_:H-$[9@K2D )GC;/96F-?C M!*&=2,$\[H@+)B^[ME"0EOC%4F=2T.;[1)'GD6V3=F=J M-XXY:8E?S7/###<=8J[LN"^S@$ZFH+!'6C@6 MPY;YU1[O$KG;:PZXV>;<#"!K>403L9C8E;UE$DP9;4\Y-MM4C[U>9X=GH(6@ M97YU<4EO3Q)NS?4Q>Q#P,X:"]E9.6GK;6 QG:J^(,L=8KJ1BWS%QG#RT"[3PUX7U_C.R/ 6NUT^)]RW93A^BCJC2U M3HXLALW&@1>X3B\;]XKAVN[X$W4@G%+.YOAQDS4)O(D<<]+20K#'S6&[I073 M(1%$.2R[K>6,97+2TD(@D2.AD>B23YK@8MKP0W19%2*L]Q7&)9'6BUHHGO.A"6W8S-=\6C.9NHO!,CTO/ MTS8BA)=W*"W$H<..U]YF@REFM-'5N:01YU;!L&O,'+AH]6!QHJ!K:S-DF2&\"JRH(0*#(PSFXTDV/!,BI9-Y1XDY:8E?HX&= MC7MHKCD4HPQ6V<.)9#,Y:8E?\%C5O7 >G!UR%Z4=K1GWQF@Q:HE?NW5;#.!I M*BNFQ:T6[#"9[6<%:7G7B:=(Y).C70+;$\/NL$EO0"3'@K;$6\NC$L(=[ 9< MXED'78@XQ;8+VC*_8,1R9EQS$SF)T@DSTVJP$,;9.URQ41%SU)EM4E509K.! M"=GST4!!"M)R?&!Y0EU_V'5A,NY/-K8;NUZK("WQJ]=4SZ=6/]K!O,A1$LWO M.O,6DY.6F< E[8-*2497F>WHUI3>'I3%T2IH2TP8LYWI-AW%N *U@M86XCBJ ML2E>H2Q@6(/N#$,#6REV T7=]-1I!9WB'8*@Z8GWY,SW M1Z[8JO;9/;KVT-QY:!K0^NVF>;.W1>C MEJ1FE(IK(IHG",T M3-W))N[J0P[:QRU9H*QN'OY"KEFA>T6-FX+%2THB2Z>3C47Z:)>->\4,;6B1 MW-SRXMG9CY&E>&IY9Y1FPFB@DPA"M(2OR36GPP, MRMQR?71IV;F,IV+=RT+3<"E!PC0]%K0E?@GIGM/7YU4()[YR3@C9=Y#.96(E)DR2&3)$I?4>EF=] M?(0)*"1G!AMZQ<"='* E,CPY)T[#!Y/ BLRVGN%M1EIZVP74A;%A!"\XCUE+ M>\O5C@>D("V];.?8WBAM=09S,V)ET8?]2MSY8DY:WB)ER&_'PT4X<]*5!I]3 M0YV$(5/0EK9(!HJ%7DM9"@K9.ML<#>M[HGNA+6V1WC)EMTJ+J96WR&X/9C1*.Y@P*2HI)H[ISB9# M7/2*(4BH--)4ANF<(_FTH:=QO]T.K9RTQ%RM-V6;:(<-%!)GO'Z7';)&NQBU MQ%R?.1-Q-#%86-X=6!2+^DT%*T8M,[?3[+4E43)ZG$GLL//$3WI[JABVS-R> M?#HB<0MIP)FO/8]V%C&?9@8Y>LT05%U)10<-BH*U:+"CHF-GB)),05MBKC3S MINK26\R4?EN9.P,M;N;*@UXS!#E=8\2&?S(=U$5X\;!=\5I4O&]Y(082$233 M)+/_^L848?E#?S9S,EJLO! LQ^\17*,81SM8#8$=R@:2N27HE0BRE_DXJYT/ MV8J\3[O3XRS8*48Q:@D5)O!:."TVY\CI;YJ++6[TJ;%4C%I"A?/,W+:'4S7; M]R!QZ8UFF::-F)RTC K#0VL][#GN6>GCZSZ'MN7CL5F\P144E4?*@?1: \[; M[!"RWQF%ZNY83*S$A,UFG39526[#WKF9Z*O^B1C(V;A7#.=64PE'K39#PQ > M6GJ(-<2S;^6D)7X1&,-C[6G[# L+;:*>!I3##XI1R[8*(;O.@$;6L+<_'L7M M8KW-A#TG+?%KF]#Q7NS335C@F81%'7J@G K2\JZ#="%],E>A@R-0(V'7Y@.; MC"ZT97]+84E7@9J:8II-E^E2.@<%QV)B)2;P_6#0Z.]-B;.M'3<(%3;<.QGM M%5O8:+NB-%>D?38L.9Z%[FDQT K2$K\.PHR&TW0I;Z+1-A9G+B5ZQA9?QA+=[NY:EL(R([Q($&R%\,6J97UV% MWKH8;24<+^LMN+6'@AE?#%OF%]2S G5""T,%5:!TY^UMG+S0EODEC8[0<:+N M=(XTIOJ>H;MP;Y,QX8HM++6)5HN+]IX"+>"4' TG$!6+.6F)7Z&\2#!J%^\4 M+9Z)9WO+J\MC,6J)7SM.F1^I;@=])IAMNE9!6U)(%@_E Z=S+&QRN(E& MW,!MQ\6X988-CL* /TGPT+'W4&<\Z8[2HY)QX8HQ+"2M<>A3&\/QYI:":4K/ M<8I"RRMQV&[:/>.L 7%]Q2!:TGDPGS2*45.4$O MM*69'8A=TCDZLRV<]E-"#CS[V,W,)?2:U6HP[)+#@\P,GH703DC6(6J=,BY< ML5J[,\<:KR?#CI,: 4EFRK"7,V\:O6*U3C8<39+^A%>2PW8A.Z;;;DG%J&5? MYS#U%CO=-Q23Y\*$@*6A,RE(RTQ(EH2\A2?F5$$-XW269@JBW=&6F."U8'_0 MM==GQ5XO'1H;:0P[*VBO[&5\(]N?XN70F3'T4(6VO$'.LC6[8K4ZMB.NFMS0 M4+PNSU#:&6GV5"8G+9L?A[6G]\09 J?'T.1&$4(DX3$G+?%K#6]%9>9N:)@G M]/1$[\,=EWE0Z!6KU6N>ML.#G[:4A-PKLXDRCZ*@>(&R.KB1K@7ZM->#^\-! MY$IS5>@9Q1N4^<5Y$VN,Q"@.SSR<&R+I!&KZQ2N4^>5#7F9)>?V=TE^36'-% M;G0J\PBP*U;K7&4D:#S20XYLILC1Z4D8S!YSTG)M8FEN\ M;-FPFJ^/ATA0IYZSMU3.QWQQLR(NM"7#"MV3<(,\AZ$BKX5 2=-5J-K%ZY8- MJRWAM;I13(U@DX;G;C/*C+!F,6Z9N;8634.>(&3%LUBU)9RPF36\T)9$C%72 M[5Q3N2LN ZMBD&K"LZ_;G-N[1\GF-\T,^3)L2H$T] "]+20E"[4SS;F&BL:"Y,-[?1>GO*G!+LFH7KB=-X03D- MR)G-Y#5MZ>-MHU$,6UZ(_212T#,SLSA^=S"Y<'U8L;MB8N6%L*SD8.\)@5%( M4E3IIL1O5*OHR5)>B('E'9 .U$DYF7*$T502YMZP>-\R<_<&N?"G20N"DS9U M1+N#YEC*'$KLBM4ZQ(:K*(2&8X7L)R?),[7(&16-%,J^;'_?6!.'7J!HCHDL MS+F<.>Q63EI"!7V0MNB.Q(T5?@@90VC8FU!\05I"AL/="R:5SA"M(2_SB MUX;O8 U_#/,-&W+2!D[QN?)>LUJ9 \3U9H=4YDPZ)6:[58_0=A?:\K&*I-G$ MB 6M*)!JG48;B CW7$%;YM?9)<>0,3$D1QNTHS-+:0@=%]=L70'<<7]%!*,Y MUU\Y5LH%X3B/NF-7K-;0]C>,R4@HQ^ML9H>Y;&_8+T8M\6OE!=):\/REDQZ- M?=C>CXA-IQBUS(1Y6W)TJ#_U'1Y)!\GVP.QUIABVS(0Y03NN->,S5];M(N/E M?&QC27$98%G S,3!=EN";SC"PA627:+%>^]8S*S,A;2QBO21?U"$F!Z%LUGF M3>2@<,5LC9L)I?:R]X#WAVDSV]^Q]EAA+ML^IV9*85D%;/HOF\&4XAAES#2=K9J]Z)6R_T8M0RPYHC MB6UG5O XTUOFG(X'YZ:-%=6S928T=DPZR,#\Y+!H<[#7H,6$&A03*S.A+?GN M/G## )U)P=)KOYAAHY)N;/!PPV5[E.44=65HBA@!CH MDCC!,X.E#S#;3;E\V[EBMCK0>0GC"@$[T#ID]TP#.L>+HL:DQ"_"L^>+P9Z# M%9Z'Y+4:I))F%2]0%IHMN4J':!>68-;R!DE$]*P&6KQ!F5_[)A*8"_CH*]HL M&C013VB,W8('97ZI[>4!:0K,02%/4+.)LC&DKC+:*V;K.4'=#8Q379A41G@? MP=!>"ELY:7E[&!FCD&63A3-;[N4990VC3N;+9J1E"3?9V6)V:#N*H,B9]Z=1 ML'LJ7J"\^[<#^B Z5.;[RV**(5MFBA#GX@W*N[]M[I(I?U)7,$1[0V;#'S;3 M\67LC+W7W;^H$/I:!'&I"-/SX[V[R/SS_IN'9W/S"P+OCN7F1_"+(BK__H3MY7"N MEL3!_0>7"H7BDV\.\#XH*KNC*9%3J&?"'0Q^Z:>%!7 M\&#\(!MS[0;'^\*$^Y^+HM4_+R4?QXQ/3Y9 FL?G>]1(+!73F-5?F)UN=/'G([!W9T/@)-KSF MV91W9D'I8L^?Y(D>N/F'__L'_L>O\@?_@B'OVA.I<8V!OW6Y;^!Y@5\K;K)_ MH5XX3SDW'T6,T%\5(_(+]:B/43TI8;+WR_<(S:T!(7D]_'TJ,? IF?)43/Z= MKA6O&IL^N$+= .H".?H4?DBE/16T!ZCXK MA/HI9>>IZ.6G9,I3@<./I5 @BE>]*-Y5^^3YULBE/WGYZPN9)D]5/E;//!.2 M.,K;7&8O^6+FV<>0@)=P^F[-6!]KX:T8Z;#?CNP-9>#U9F(2F%B5A"F0!A/6$>&.&-3;P=J&Y,?W(/IA +%Y:+!I?D->- M0;RX6(P"O[C,*0Q<]R5=BE<.4-V.2&2[QNMF:5]^UPABS?V6$R"P4CVW^C;# MD7FXY2.=B)(W6FA&-Q*)N?5DZB4^\Y'$9ZJYR^DCB MT\WIS2B^E;C5K4O0)9KUD22(VR<9^UXBW+72=,<*@\0W_OR'KIOF>EW9".C# M]=V%9E$0FOU%4W,U7S>C>JTVU-(:4J^A,(J]9'"C:CRZ#_N^5&3K_:?W0!>* M!@L/7J"&?D&)[!_X\O_L'6K_L4_9//QVJ.EYQ58M\>U8,M?_^X>2?:/*^4$C M+334J(ARJ9P]WRTW*\N#;3*=]$ZB9+.<^$>MZ 9QNOPA$ZG"6L4O3;]03$TB MR-*T73Y6;'J9=EX4+D]$!7[V8\2<[.@KU:7 L+ IAZ:W,D-U-??&I.S,!$7> MB8V91[>'^"%[IF'JMJ>YT?_^T1VU_ZBM@]#3XO_]PS[%?_J)9P3Q'<$?-5_S M,B;?/>'/2\#NP2FJ# JS9HX@M=Q&/_/_WS+O!M5DAL(I5\N6Z^ K:2N@B2^.,9>2V K,[(8QYN^2]ORH9=>_"[S?X8U"#H[Z(1V, MN30<]+>\GS:Z"ZMZ>--K+H4N$DF>PZ?==@?"6Y2)'-6B<21"(G4,;P#$ 8@# M$*<"B'-_CO<^0W,'-4<)HG7UD P5NW]T76ZRY[94!:&F.VG.^_9&Q3B^.Y@V MI/VD09,YU.1]-E&8K!,4L&X UGP.K,G!Y9^50I?[D^&%_E\1QV_P M!@">-P6>_$*5"JCG:P2)*P\\5]RI?(41]"62:Y>T/)#XJS>>5$ N7L&HIVY1 MXE]YXW57+2X8]GM^]L.NV.AIF1^9<#5+UX&4E^Q%0=2?QM2_\)>22L)M7P"AR'P=J.\U*3*][*L4^. M%PMV.H5-,?;0E6*="=?*9X?\\1>"UAOD*QZ*^-S: Q#D-A $[)LOGR'[W#QX MJMDLD/J/MN(5O^_^8UQO7S&IKW0Q);B4_LTLG%>^@_[F?"1#<^/Y H8E3H / M!VSHP20C_WHBYU'WQCR?3OTATY\KPEJV;03?JBB2NS=Y,N9)]^9C5,*V@S#[ ME5_3DS T?3VMQ:'F1VZQ1#4WXQNHW'O="]_>7Q[>-2<$Q*("!9TWP)8;K09] M:4<)R$4%3N_? %MNX>@_4!>@+A5A"U 7H"Y 78"Z '6YN0*G&V#+9ZV.>M'C M$,\OEMKBS29BR9H,)SP1$1,_8N<#;)XV87OC&^,?D[ MBL9KMI\'()MF]DA3,G57BR)[GJR4:G;R4(5(UPFG!0G*PJAW3'Q& M)8M2*H0B0"'5QRZDN@&V@"HL4(55E2JL&V#++91PO8,]\,*IO_?>M_EEBQQ) MZI+C(-WDYLT9+M,+*]NWB^SBX_OVC=9Y)7YH9J]W-HTB=9@-G@F-=M!L-R^3 M@S(^0E'&I5IDZDEHQ[;Y8MG%SPXH'ZF6+ YVGWJU'YT_J"+[:%5D3XC[QS\> M^92\@W/P'^H6O41W&V"91G,]J9,;"^HE &33N=##,:"G7^^.5F3UF9'[[6[%$&5*[0[./FEUYR:]RY MT0GM@:/T9]6G$38[;*WB[C\:4JS3SEW[_8 M=8(@/0T*TX!8@,(T4)@&C@J"T@%0.E"!2Q!>L@%?>PJ3P7@_56"VH^OL4,1X MGO_U@-#?]FLT"7[PY**/\$J+3(-]8+=)9C:)*!,+V0P/MFZ.LV4*#,G4 \LO M1IEJ;F)>,8)/K+TC?;N$9D7SAV^0Q1E M';2LXZ(!J7"_(>^#V41?=*4\BE*4HST11KG!>K1+XC#8W:4,S5"W\X*T3"QJ M09ZYK44Y?Z&"P37MF,E*+3+CV"WB;;=0EP9ZE?T*'A2K'JF9U@ZXH5KW+ZW#H&<*:" M. -V5R#U0.HK?KAH$II:E(1IL=5=G-B[?9:C-@+L[[N(DQY1X4CPYI(W?KT1 MY:_LL]]OKY[5':U._K"M0/$QC-H>,A3.N?>*X'_\12*OY+L"H %%K14L:@7; M*VC;!XHH0=L^T+8/M.V[M?SH2QB#442?:=7P+,6TA%VC,VI,/#R/M>0)3QPN MUTY^M-+)B[6>/2=/A(;F+@GUC1:]W)V;X"3%#19._DQP]X/G2J6O*G$E87HE M-XJU]^8AU0\HQY[5B=]U1KWU5%01.$^.-AIU!$-?*8 +E V4HX)R5'!6&%2B M@$H4H"Y 78"Z '6IE%P =;E9=:G\:9^WS4#^P"G\T:EZ#$W\%B>1 KQG4WV_ M3=QT[18^89YRQ.HPT0#]V4 !:25RD]7&(;!MOU<&$[ %%)"" E)00/J1"TC? MPI!6TVXO'/F6XX>"2L<">89W>8-4GJT6;FF$?[$S6 M#5#%>2T]&82&&4(7XC^1W:D6!:YMU/X!%_]526E?_Y+7SPW<=RFT]Q.(&^#1 M73X-* TX]OEMK!-HS=.!3Z U0&N UGQE",'QFOUUPK4#_>N*@=>]O/#BXECLB5SRR_6+ D7ZHA9S [LD#;FO# M",L\,B3[7^Z18?AKG2$#$ 0@Z -"$-BXWR:E!K3FZ?P:T!J@-=]FUH#6/)UF M UH#:@N_3; !K7DZVW8[6G/[J;>?\.]V,\YPO-%IZMC&B/5F"-]3-2;W[RX9 MMR?\N^=GW'XD'A6M1?S/ZIMG'"]TJ\ ULE\V-5?S=3.JUWJ)FU[R71A2OWR3 M+^A__F?U8M=,5HTS+YW>*T_O6ZS ,JPP@F3EFE4$BS>YV)6)5&']@M6)Y&)- M1P.>"3C2X.'FA-^VW*GU&]6)Q52$)([RR67+<:48$3JO"/\$41RG3<;X6/1F M_0-V5!&TN*DU QH"JY/$8T7.MZ1&-[ O_[ >L7+J]PW;_NLU:PXK-_5WO4+A M[6'GYP\8;;(=V0RCRYMT?=U-\D49!V'. ":.0WN5Q'ECZTDP"OQ\=F'@9FRV MNMD\,]"*K]A$)G/J *K15T.@V'B"''9+> *N*/O] ZU@ -_"I0J5,Y77UQ MF/IA-4[EIG[#,/7XW;SZ(.:BP?9@.YYO[X.C,I&6S=^\F_(-YQ32=FU9EK (ETV]?,ETYC7UQL/IA673EIGY38,7H>N(E;D9J"'FG MO9PL-#>F']D',X.3P#/OP&N-;G:S^#R9PCRC8HNF=([UJ (1K!^"E[U=ISJ% M[9KP"1>SO=L;F!@3G M%9R3'Q2J5V[JE8JE4(.%=6+5#NEX07N!F=-%RS*Y8I,2Q/_Y"*:(.8^2+W/K]Q.&;R@),Z>S-6WD8%>;)&]X,_N8\ M>-QM>&^F +D 77_?HNOO;>H&J*$ [0O?H'TA4([;% R@'$ Y@'( Y0#* 90# M-&NM7+-6H!RW*1B@I^L;]'2]3>4 Y=F@]>L;M'Y]1^7X&&U/GUEJ/-32&E*O MH3"*WFYY\4TH3/6;HKYAU3&N8G">5D5_N_P/.D>(2B(KFA/T?D/KGS#>I2![)@=B M#CAYQ2]!UY$&#" '0 Z G I S@_J=0UM[FH=>3-54H4<,@@$ -I\#;%ZO@.U7X>7'U;9[*A(Z MZL@V%,]K420A(>YR4N6"-64T2^P)0\L.U#3'6^;@;>9]JX :_(^_\$8=IUZS MX0" F@HT*'[G8EH -2]2*QLT-CV>G2*&PHY7K,CH_2&J5\"X^2'T",WM:D^I M&,>EW!A:[N)CGR0N5DY1*]M "( \%:B5O7GDN85VS=5#GNL*?1\FAGJMH^+- M( 4]-L\FLB#2DU9EL)%8":9"BF(5&VM*^V X==6@L'-0^(^_&O2C?6Y!B?'M M]\E^YPKB"D'-VP=O%I,8;4^G5(.3T37L[;2-8Y@5\(J^!XEI$YVKFQBQ8%DR MJ%0\;]OC46&1%)?SPV@=1AZ+N]Q"@?#3>C RXYI=6):@AO,F:GLK=JO&IU]P M4+3[!D6[%1-Z<#(>U%2]04T5D/J*K3B0^MN0^E?N+X8^["_V0MGJ]6F-X]WV MWG!2M=674EZA]-_()8W#8&W'@R"*KG@^_J2+S'GYP'-] N>.Y\%Z&X66BA!% MQAFOHV@Y"P00!"#()T(0L&^"(N,;*S(&4E^Q%0?5PV]0/5PQJ0=EP: L^ W* M@F_.1YK:!VXP3Y(F=I]R;#]MTN1V$V:_\FIZ$H>GK:2T.-3]RBU6KN1DK05DF*'I^Q301 M$(L*5.O> %MNM-3WI7TG(!<5J,NX ;;<0E$'4!>@+A5A"U 7H"Y 78"Z '6Y MN]$3$L^O@K/P0?L8]:* @UC#Z+4#>CSH_?JAB1\][2YRQMX% MSB9YW.S"-\8W)G]'T7C-]O.89-/,'FE*INYJ462O,_FYI]5.CY6M[(^TET+Q MMJ'8RT =!U&S*[B,BI!%C1Q)O5;9"D"XBE3(W0!;;J&\#C22?*^T'V#+#9:( MO8-!\,+IP/?>N.TS,_=H21$5GCYWW %Q5-R#F&_<><;QB8W[U^Y9?M=48E&3 MEZVWM\NX?4D@FJ?\>U!$!HK(P(+_:BKP<_, %)%]MA4'A^%OXS!\I8-%C]XW M>W3F[7@?DJ$B],Y>U.F-VN3^UV\N88QM$L7Y.T63X =/+B[.7VF1:; /["/) MS"8193(@F^'!ULUQMDR!D5F:@>47HTPU-S&OQ822,S](FVCI,T*!4!Z#39T8GL"<#J0=2#Z0>%*B! C4@]:! #12H@0(U4* & M"M3>-2/U#I$"M$^QS6E3%!UTO?7:6WJ?M"DQCQ3D2:BG0@4?H]OGY7K^[#EY M?BHT=TFH;S(&WVAIV]/S_7__0$CX)3:&6RA1^YD\]4]TXGS1<&2YQQYKXX31 M\S$3-D52Y@]LN^6RUF\TYLS'EKZ*MI&]?GX5:H$2EZ:=5SIUMCM\9[)+>0BV MD58CZ2^Y8:HS*D+EG3H;,%)O7+GJ]&4.EX'*/U#Y!RK_P%%,4)L!:C. N@!U M >H"U*52<@'4Y6;5I?*E3#_N'3CA@AA!C?D1-N=QOPLOI?,Y^,TN&3_P"G\4 M,+)1JM,,3L<&S(L(T^NA:NI;8NX4YMT 4;(.TPBH. (UE97(2U8;B,"^_5[9 M2\ 64* '"O1 @1XHT*MR.O17S%-HVS.&K@&YL(=UAKB[=59P:A4Y"^PYYNG' MZ,_&:M&F9M@'.Y-_X\7RF)]=YXMD9Q :9@A=B/]$=J=:%+BV4?L'7/Q7)0 MY7=ODH][/X&X 1[=)>> TH#CH]\&3H'6/!U%!5H#M 9HS'<;R&3;=%@=I^!7S#U\;O4" M$/0!(0ALW&^3G@-:\W2N#F@-T)IOLW1 :YY.V0&M 36*WR;K@-8\G;F[':VY M_33>3_AW7B\:C(:"LW"$C<7)F\8R)-+"O\NS=T_Z=Q^V"]]_5M\\XWBA6P6N MD?VRJ;F:KYM1O=9+W/12W(;7"ZE_HF22B51A_8(UDL9H3\#M&:)RPA!;[3!8DL\MYC=J)(NI"$D< MY9/+EN-*261W9TVZ_F"EPYJ&PU!7[Z"(RV3SR4LB$:Q.47@=H8G7N5T-J-]/ M%$563OV^8=M_O6;A8^6F_JY7.+P][/S\(:=-MI.;871YDZZONTF^*.,@+&X2 MC^/07B6QEBWA)!@%?CZ[,' S-EO=;)X9:,57;*EDVH:X?K2)8)(/NCN<.>I. MMX JXH^_T#K6P%_O#D@ 4\\M%ZJRWP-R*+,27/<%^ 9S*(G92%:N 915@Y9^;6U)%Q'T5>\ MN!: %@ M %IO"%H_.%Z TMV^'.VH6.'3182CZ6G%_\;Q@E=#J_YJ31A3#J-2+=OP=0/R[$[G/=(6W( MYX33>IW0[\#RJ1?\>HN %\.H'S:;ZB_PE![V%<@A^Y %R3)" M72^/7=>DM MEA828Y0&-QC\S T&E=/85_ *?W!+0>6F7JD@%MG5YRELX9C# M=T?CV?[;U*EE^%EQ^7#&_QLTLQ_6;?0:EA M8FT1?RBJ%4"8'Y:Q;*8VU_/ZU(23=^'IN&X(IDBB9K7 M?%)PG;I27OZ[9R[>5>A'9ERS"VOF!DKTWOQP1+6U%O2;_AREE6_<3_KS"'UE MCT&_<8#U<_/@U4MD@-17;,6!U-^&U+]68RY4O7-,'C3F>J%,9],CU6AX.G.. MUX!F-#M8SC;BK[LZXS!8V_$@B*)K[LJ.F9NGSA'GS$ZP1I>HYW1[Q\Q7N5R1 MC%\-Y $( 1#RB2 $;)R?I(;TC?LI ZG_/"M>X5+1-^Z'_'FDOK(EH6^O[WSV_:G+BN[0^_OU7_[^#J>^]39U=!CC%S M[W-WE0-F"/,<\H8RM@ '#^"!Z=,_2[(-)I!TTAT2DV@/W0Q"EI;6^FF-DLY( MCFDB7=HRMBGJEDK6B)F""4HK^#[Z[N%PX\$[1X4H6X2@L/,*R'*E5:'O;2E1 MO@A!"O\5D.4:\O^IN%!Q"0E9J+A0<:'B0L6%BLO5%3E= 5FNH4+JTSU_ERJ? M*M;EU;I>E)1Y1^AW\OR$F[6UWS_XYKFG>7ZTG.=&ZV(OFDLW7I>[!Y]:451T M[(^\1?!(U$:2*EJ6,@%N\MN*FS.^ROAL4JS$[Y @*.N"8&4JMVTT:XVXA%M3 ME:1757_M@JHK( NMQJ+56&&IQKH"LM!2KH\/!W[2YMT;IT8[/K'9]#K32KLS MVA7U?()LWJ3NZ\7-^TIKOAS=1#"\'9(9%0@&G0.OB"M147'-7!3(%[6 2HR% M),=4; 59M,SH-:AB&XOO4E3VXE2_^U)_AW*R%PGPM6K)?L'K7S]'\E?,_N63 MX7\%[%\H$YXR.V5VRNR4V2FS4V;_3FO]':J;7B1 Z$J;_K[ L8!?.\R%O5^\ M[\8I&&9'5%%G[\/AY4?'LO&LZLAN3%QOV+/G!+(%91Q/I;LR*V9FA;NH["1D MI37BDB2FE>9.;Y-YS2F!%(->)L#7KS7[E=\@7!ATR0WWZU>9_4J[_/(E9K_0 M+D-67_8)&^X'A9#>=6-<6 ]F6QW7V*5@R]'Z&'&\Z!<;X]C;(%K4>C]6@T.9!6#-"*@1!D.[WG]7NM M\6[+F4NVVZN,:F74XZOM]&K]VVKO08&UNL8S3R;W"(]%"\FY@-[61C )"]BB M@\R5(J$F+),AMY%D3'722U]4'71&"Q[?KO58UMHE>H,L&^6::7TH%=8C+H4O MYN,B7(Q>RT=AC<(:U0)"R!=47*BX4'&A=8/?LFZ0B@LM0*,%:+0 +2Q\00O0 M: %:2**'G^!&&:6*J495&E8%3>43CUJ\J&GWQ(U"BL]^X4>YPO(S-W1H++R@ M(3(E!=>? 5\P!@[>,A8F<)10F!'7P"R,A6Q;)1ZW:RA#H]>4_0X@D%6W1H)R MOWB8C:<:JZ2VW;M-JZWDA-8%W;3N->*$*3W7;+JH[=;WF=%VOM1['4=X6 UK MR2-,*=<+;[VOL&Q9#I)AY/B60H(-!$,(@[V&"W<.$+)9;T4WU M\8[EK('*-]*W\@[7J*9'W(]_,K%()GEZ7?@5R,H5[,/?H92/W@SWW;)0Z04W M5WC!3?CSX3\RYOG,ODH4[>>VU6=S^J)LR>E'QX^6T$"5S+@8SW"[Y!3OKR2: M&6/COY7M3J&&0LU50@W=8"G74ZX/>8I1UT2BY9A;LMNYAJRWU5;:[7RS49X4 M6&?6'\][*(_2C=\O-_N=K?;I#JMU2RT]E4L!B<8-NZG>JW+A<8UWV%CBQS_Q M")L\S9NG6$/O[:/W]E&N_X,P[/>FP=2\/5<><_5T+I6.C7O]G,U=G@.#HB::.&8TDRTWN^H M39I2<84EE&_Q\7[QF&E[+Q)G J=G8J3%7*;,:MOH;:^C%Z(#I8!\O+I4V6IE**U-IUC"M2:$U*51(2 M^JR?CPU#/F,5/I=?;YESM3*R%XM>9S$:U:WI?9^_)48A#CNF(NGXI6Q"BD.T ME)26DE)QH:6DM)3T,I%.RA>TE/2KE))^@I9[B:#H&[734JV^5FE\[/JG44*FA M4O-UI2;TL8,VLD68CRR(I@Z$LKS P:V6&EFUS4Z8:^GH()NK/@QF+?ZW3;.\ M;V\$,M>P(7(N7M"/">F.EE@(%:VE5J?S9+=1X$=<=A2+88LLE;7838J-;2Z\#C 1J7FU]&VZY&:ZP^] MO<&^JZ[&;;&2[6U[W'B>[K:*ZIVR;&'[SHVX_<*^>WW$[3GV"&DQXG_&1\]8 MN^W&ABK#E[>B*NH2LB+,G:-NW7A7/!9Q7^ %_<^_Q^]VW&38*//>X;W3Z1UC M11RP0C:L4HRO8EY^M1PR=^!V1[7\N67,8NJE_ZB$*'P\[;T\PFL&.C$S+'4E9EU0' M+TK3,#$!>-LVE;%CXTNNNT;=T/'L3$,%,D_+,$\ +?N,3F1.S$TLJE?3@E8J MSTO5QR8KC]<8JI+X\,MX.D&O\OO\2IW0R>J[P]2SU3BAF_H5P]3+9_1*55NP MJH\K9:[IRM)8][KMA]L_/*/W$I!5+6^+NI&M<.Q2JQ7Z,[1QK"K1KC+XK < M+>Y"JA4%+0I:%+0^&+2>21/8ECFTN-UVTKT.-]G$BL9]SHF&$*TD<[6CPQ:-A^@4HQ5.*N!BJ0C+GKJ=*%Q1N*)P]5$>ZS\#J.=KH!\3C5PK M):9$(=^MQT. 4<]>A:"44IU;R]XEY]PZ&EV4\PNAL"+6(*Z8SF+5 MZI(I4!2L7ELR'3J)?7>P>K8L.G13ORJPXB7)T1P5FLH-?.4>;F:B&=(M984 M3@P->> UX6:+@;WK]MDB&%?#V_;.EJP0>+">!:]:7,ND!NF6.$^)#P6A5"C. M6[:K::7Q*?/QQ.D]:12[/KY^/70"? F?^_5C%RUB_[0\L46-T>I^]4P]=#L MVRFR.9.[CC/)"!M/O ?3H.7S8;/)@KE M"WK[[T?<_GN=LD%K*.@=AA]PAR$5CNMD#"H<5#BH<%#AH,)!A8->UQJZZUJI M<%PG8]!;73_@5M?K% Y:GDTO?_V RU\_43B^QKVGKRPU+J"QZ8CFEHE%&([E MN.NM,;X*J0G_U:@?6'H<\V*KW!_7 -II1[X7FDO4JVAWO<9MH6%GRW]R,^HK M2H\U]M91S912[#6U"6TU'<8Z4'BZ"O63*XN_ M!&Z\+2'C(T$C' D=Q>RBQ1M-?C!/K6\?@2.4IX"16K(00\4[1[MQSRW2K'C87BW4-. M: IY_K$60JS))RJC0>J^')]'B[6^/-NN-HLZ46YPT6XLDXFD*-A0L/DF8'.Y M*K;?A9<7KAU.)B8/2['8%#K3BE*,ZH5B)A7FJK65]FC%"V5V-=_F#9[/)1+3 M8ILX;'#)+<=&$FR2EJV%H.3VZJ'F&BX:#A_4O+Y@UNDU&FII4YW/.3G?WD@E M1[K?A4"Y>19ZHK*\5)8/]SUAV53->B]72MM15\M)8Q].(DD+9L-0,'OUR',- M=S:'#WG."[0'-HNYO$/]67,P[\1'V=&R.ZU7)R%P$S\+-MN5,G1J=_52+UKL M6>7,)&XZKDG%L3_^26?3%X(:6F?\ECKCJX>::[CO^N.=-_/J@C0XBE(/,9S?-',KI?L ;LJ,UOOV"T\K=#ZC<#1G3T_1X6ECU 855E.M# MMN*4ZZ^#ZR]\R1@7O&3LG:+5G4ZAODVWV6GR]QVZ3=.8*';5 ML*QSEH_<2^2EH<3(N#/Z X^.J,I%W-R8Q6G02:+_,C]OMGQ[YHWXQ6,V,W+X]ZW:%9#ENQ:^O6N.Q.OKX&P! M#2:Q[&35JZ0H!.\<$?SLK;OA; VG(L2*PK:2 MM3-#/=IK"5.\=9.@XZ^V[M\[Y6X%9.4J<7G,E2HE?A1/DO-H(]ETEM;K4'3ZSNA$]V3* M]93K*=?3*C5:I4:YGE:IT2HU6J5&J]1HE=JGQJ0^P5.0NNC5I5MY/5[ ML3O>%#AGC3T%7ACJ15?!ERU]V#49*?>;6/=9I%M1-EQ-+=\' B#-<:H#& 4O3*0@A0%J<]VM%)QH>)"Q86* M"ZVT_9:5ME13SA%HH-*NYFK5[C> M8-['1[S^QG@M)GXL]\J7<[MF=*7E#XQYY3$DN-PKHUBJ=Q_#D6 M2<2X2#++7>B\E6\O2;38E1:[?K\5IX4UM+#F^ZTXY7K*]=]OQ2G7AY#KWV(O M?4H:2M=$HN686V+2N):39S35JTB=SI>#%IL;WHJU>S._:JW_, 7E&9OIN>J" M75(W%P6>E83MI! O;P:HG;DE)E,L\>.?9#P22V4N>$#E]Y8E6IY*RU._WXK3 M\E1:GOK]5IR6IX:P//43=,=+1-C>J/,9]>2=(.^T20]U;[-2HZ3WK/B:N,GC MK]'YOFQ-:4ZT9HRLK!3@?YG6B'YXC>C8,&5D1MW?_XPM-HQEJ(K,_#=+_@D3 MAL4*\C&'KZ-MUFI\G?#U_D?<,KD%V&+;(S M%FQ[9UKS1[XIS+FJ45OW\KL>MP4+-C.*Q7[\DX[$+I;E1;&+8A?%+JHJ?'[8 M,%Q\[:\D(H;%;??*3^DXO9;Y8E4W&CYXN^4+U)Q^ZWRQBL2M^L/Q[[! MAAW99FM5[^C5'C<7>J@Y?."F91[;L#@*^TL;]FO4-OYG?/2,M=MN;*@R?'DK MJJ(N(2O"W#GJ]O_[[UB*_3L>B[@O\.K]Y]_C=SL_]+NC!PG)'D%%'*!"-IRQ MBL*(%1]RB"]OC1J3=ZR2E.O+)%L8Q$9"HQ8?+^)LN[/+\W]0)4FFTG!L"T\. MEN-,463B;M-W^N5RL^>L=JWUZ-%:55J ,UE2%!F/9#()P)KDQ0[F_=Z"Y06M MPR981S3ZG_>+,H=MGI]ZUL+'H\?;4\=FL-4BTW)'4M8EU<&+TC1,V;9O* MV+%%6,*N43=T/#O34(',TS+,$[#'/J/9](5Q:K0JKV(])Z$*F_)=G:^DUQAQ MDC_^X2+Q=(+>;7A11WS8I/#=T<;SG(=MGE>,-B^?E5O-F:BX&90?V*B"8JW= MI-$:]O^P4.D2R%,<&KP3'W?J\X&6&^8JZ]A\U">Z#KY5-<5&.([>JTJQAV)/ MJ+#GF?0"+ENN=*Q%QNX5MT,KP6TWXV+W#R\1N 3H<)/TLIB_K6S9G%G8<'<; M=I0TIQAT<#)"+!N/<.R%S"N*.A1UPHHZEW#F_AG./%^(71'*M:S%%>;PDN1HC@I-Y0:^EA W,]$,Z9:R0H *AH8\ M#%K*#PF^..'N>MQ4+DTMHSI+26'&H$E[G!L^FNMBKY*O:97!P]#H>WI/^L<_ MB4B"O602YG>'()*3$C;1O(1;F4+0'T+0>"*GU*E&I2/G;Z*T;SF)!\\FF+X0Y] 0#-IPFR 5, MKE^RTX3\7FQ7&\.EKO*0(^&0%EYBA;BZ&[G?? M<6+UNZ9%0E$XR89+IR-L_)LW1EB1 F4 M1A#I+$5RO[ V MRDP47=0E!9I;_C9BW9"9?_X\CZ#NE>"V'[6L6 M5W.(517^_VQ3P^V=G\") MGR7&:Q%;5E;__ ?^\+N55"2:&,)FWK/W"(4?XVU6+/N_%]R4GJ4"ESA9R$1@ M%N3/__=?P=D/C-=*G@?&A8) MF?TT$=AW8,[AWH_Z)>MC&XL/7)SG&?)=..Z84N<((!+H'24RB1FXM(H+<4E6]..J>+H+: OOK81" ID3).DT\FU6A"ZLYS=KY_ M>U>TRPD!]WDRSFZ[T9GGS=),<'9<=I-OV!MGTAHE3Y_>>RRUY-UTONL-'F*3 MC8GNMD9J/4J=MBQT'YKE2:?2GW-EJ5O4&^-\?S0%#?BD935:GPV*C41V'BW> M)T:5OMUHV/PH<]H2--5=I]N=I854%"4E5DHU\O'U*'O:LB:5%IT'FR/QW%V-.FC?ND93O"FAK $'CVS^(5UXW&<46J]>6I490JUD4DR9,O1Z9JV6#^C^]A%M=79[ M5Z\O98/E1C8T/;-80L->E%.QVP1;01I?7%72S1Q8#K$SJ[6J.[.'Q]M:JR=6 M!MM,4W78>A,DZLQJM6/:3!]RXR&+)MI\UBBI)5V$IF>6H-*W'JI:[5'N#1IJ M/"NRC_>E6VAZ9@D6_;6SS(Q337:;:=5ZE;'..6Q@OJ]J%Y/#\9VM=W18*QG5JO9BM;77:TXZ"GE M4DT;F'>[^'@]XLXL@7X;N^,W4K7-#M+C;G1['Y_% ?[B9Y; RI1'XE0OQX7! MN)R>UL?39ANCVAF!:8Z:\TE,VNH]9_HP4N_KM<5.!^OQS&J5*LTFR[>T42]7 M&DI5K6U54 YZ/;-:VWJQUN/O;G-L(Y9>*@\WLDLG%:,+C0_U.%[8E@?Z6CPW8 MCEJ[6\12N]N$0DY/. 7VU<1.# I9L;OD>-XK;Z>64%*D\;3J74H.NV.[> M"DMVCJ)WK6FZ))&F)X"]&<0X2\TL2H+6U_,SS<@L,BN ]L-J$8M[;R6XKABP M$%1Q8:&?_HO@KIZ"O=G;T+&62GP7NN\C<75YT;$-_P-7D2>?'.G[ 6^.U^94 M<[=-?V"^!N'J!;]T.)%>TMPO#I$/J-Z!_@WH/JIVL3K8%. MO[1*/'.1/-AO*HXM0W5L]-DF2N"7;W!J'HS+/W3\<3?. _ M) [_*V3_8Z)D?DD3MP3_],^CV8&9AJ?\?S^2/WYWIHF;]$FFY8>>8'&6%'_B MUNXH&Z8&'\\L1M!E))\[VN#X6 ,J,]]19KC?E9E8[(9-?2V9X5@N_DY'?7PK M/DB#,>GW MD([PD>=WTAC>P42CA'#=.V&@P\L9UQ]/&"HJ5%3..0^^#B&NT>ZH(YM12%'5 M->B*H63C7WDG/V+6[Y'%_XO Q,=O4TS\^13GX"P6)B*>0YS%_]YI_$\/PXP' M#\.,C\Q&OM!:5-D>.V#Y#JMK$R1U?C^KOVD:$\6N&I9U[OC+0KQP9S:+!4%; MS>2HW-7$VX?I*#&*__@GEHADTN?2\J_&'4!%^Z*B_;*;GLKVY0^Z?5&VUZ/" MXWT=W=\*J.\LQ&TV&N]VUB#;*9#M6"3-GA;IO9/Z$3KUBY/ /0EA9"+FCG4S/F6'H'OIQ\%Q?X,2JKMK+6=E5I"K[-6[E.5QUR* MV_%X.!@EV?BY ZBIIX1"R%?WE%P9AESX=L*7,629S"17:B.58;=VJ3:[K727 M\_LU#(=H6LGD*R*R5^]2JB)02:D7Z0M8C&>RJJESZ$J5GX8?#27B*;C2>0[! MEOW--#]XL-E4C(_G*Y6FTKO%9_& %I3)G+MVC'J&J)Q?B\,G%()^60WEM8*N M5:/%4;'6B+*=:;S5K4H/Z5$-"SI15>*QS@N8^ #8E?(2T:A9A\U^[ZEY^CO#[AC_K+*4%F7\$5&*(_$3M.KHW*'86ZU@JHHZK[/%_FW96JWOC,5T.LIB+2F>B%WD 'T* M%A0LKM!']!%H<5F-ZH_1HI+1[=6J(BQZN:(Q3?61/ILL,5J JI6*O7C=QM5[ M@_)H@DR3:%%NIJZX8?XU1CJ:*/9?U$OT!:Q'FFOT!30B7TS=^]2ZXL8S'&]= M27WI.J&\E.6=4GQ9Z2F=KC-?COJU3;:%3UK&@;/LJ5E=:F@C#B0_6AA2^@>$:#HHE'%"J^HJ\HC%AQ6;WJS5A1 M+#V4!6O9D 2GW\TE1H,^,N8$*[!:E;U8U"Y$.I1[O26.T*F&93'_[%^R2V%*K:JI1.C9B\E+*>]W? Q4TQ/\55=H%1E:8D;18JOZ9OZ$O&V5XG^ M4XFWC%5Z.XX:&8$KYB55[@J#A\8:2SQ):6+3[/M'VL*@4#^O*37L&3*I1XF: MB=2C=-7*$)'CNJ'C\ZU<=#SD=3ZK &F-:*N5V]8L%K5CQ;%67(ABGL<7D((" ME+I\)G<8N(BB!74JA1$N+IP"_CMP8;=[@\JVTY^Q42W/FV6I_IC!8?PXUIY> M82Y=G5OI.-D[<%J@&X>#%6941208\9XG!WY/#/QNL_X<#U(HSOO[;K/^K@S^ M*8Z/SSRV+PQZS@N9)9($0X.-R]QG(U-5GJKRU/"_9L/_;.D!$?-#S<%+2OW8 MF'*3'7^+9>6X!:B51*RGT M;H K0\&/5J%\D1XH]BSG6+" R"3Y=B^!X8*K-WN+M+;K*?%V34NM-2>Y!$V* M')J@W4=K/$1>]P>#/5M;L"KJI5R[ M/"RSJ?1,D+/U56[^ $"7=KU%L3,72M*#;:CX4S_15_,3/8,7SQI']90:[17Y MS53H9(>SJKG826)SBH$#-*1LA$MRW\!3M _ +<2M2 JZ=7E_AJ!WT WU'UVS M,?AUST/^BDJ/+X]-5QQY7?:.[:H>LKI> K64D=>$W#"V%5+;D3B-[ZKR;-<: MQ=RCD"/9,QX?>K(-%6_JPOG@8-;ORG=F9U2'TO2V*E2JT4TI(TY&5IS'\HW+ MA5*1&/?M_#K[8-,O]R+'*"\U_!,BF8^XJ61KT# MS(8-*BX9^PO;7*G^%H!1D/T @%[D3\#G'%1SPS[NWJ3 M'=RG54TU:ENQ?OF M=F@TY)Z&2G?9VB[3JHX)-(!.E4Q%TB\G%GPI3YNG9AUAA=LLJJ*)30;T@<6Z MX:)2N(S=[T:(*\G.^JRZ]C!0AHI*. AQ%9E,'U\A_\EL,#YZR-IM-S94&8>V M^$Z)*50;@PY3:#=J3+G>%SK=DH)BHA5>X:-=%V3%C?#I+PW^<]\%.M:T5KL\2"11DC(2.QD=2$ MZ8@C![YFV0A[YK076K]#L>+[FL=7[IW_$[#H-H?I=5MKIN?*O),JUVWY_EY9 M8[# V:_IY*_0XNH0,FLD)75F9Z$^#9&(O68)G9SIJM$9<@]S FLY%T\O+GY7TWH?FN4!&V M$J$P8L6%U:<_P0HS,^F51$>JS3MRKJ#,[K+#O+;&6)%ZUMCZ?OXI<24J*J[. MBL*J1"V@(6/MJ4I-3VIZ4C?5=:I93RU/WA?T@F%B+#U@9QZ-SQVJU5+BW62U M/&_-Q9I:S++.Z,'>\"..G$R<8B-QMA%FHHFZ3HU00 ,T"HPXUM6BZ^!>L-_F"6D'3$^,F%F)> MEP5?A,\H!+Q12\:;L7:4=?**(G;2 ]D:@D) #MB-G3U@EQZW0I& %HZ$T[?R M)U" >IU*-Y-:=WI*+#O,K,QV>STC4$!J<$\O(_SBQ2*_J,EU U87JLD-%V7" M92F%#E(NJ4E=P?2OS+O]*<6\91\L7BSF[58*3GNC3.:]RD)(/LSJVV85>V?2 M[MEWB>0K+H2EP$.!AYZN\@5TN3M"I,2%I>+W>X+H=YMUZ%*1:*$2Y?AOEE'SW2N7_GYC26ZA7.?K MN0N6Y(://.$Q*;X;(4*3)Q**+9(2@DI&^/(AONE1%J>GLFN:@:=N2'/&1 L_ M48(JR%1!OG*3\(LD/!0,L[V7R\;$%=@.EM=SOO7:NA9]N.U*;",;XZ1^_[%0 M>IB.XN2@S%0D_;(?C(HZ%?7KM(6OW O^6[)>F,_:C5%9[O>VNYP^;]VA98-; M8UG')U_&(['4]TEF\/,\/3KB-$^2U" K.*R@RS1GX>M;,_0FX:O4;QJ3O"^D M+^/=O<-6QFAG&KWE4&YG5ZC,#MD6'A[1;5+9+"WJH&+_%7P3WT+7>;7'N@YZ4@L>WH!\)>([?LZC5=)S$Q,0V/L&6+0 M!IF28B%RM@AQW!@+/&WJM*$IZU^Q>.7[Y5<>G1Z );SA"KC@2;Y\!B:Y0HTK M#Z-WB=X@DXBN)P_6;CSG1W&.G-"62-/#12AH?*>.?)*U"@H&[VY M;F]G;$INY+))Y&P?*BV,&K@6JXWJ2" M":UL^7PT^93*EC>BR6!D)&I-[JXC5.SLN,^V8$V7!$U2[E%&V:]U93!-Y:?I M"U\P4XDR.&7PKYV?0TM37EN:(A0*0J[;81H%1KC/E?AZ46#:?%=@W-?P19W! MY2NT/(7:!:$J7PD=G:[,^WM9[X4P@=_;C8FPD6:B/D5MT48-'9L@^']\)-(* M; O=MMK(LDU%LI&,O^!U^?B#0,LS]H@:4Q2[.1LWY[ERNM$O;@?]?)8?Q1"2*<$05P(F]%=93$;-PA$ MI7[\DX@DN*]U]]"OU,VZT&7*]5Q;X#L"\Z^\X+[Z"SXC6B;#U_/N"Z'5*_?Y MJE#OTLN*K]WL?-_(5)C@\/LI=G\$E$T@N"&7=AV?3-,H,$VA76[DJ>>/&LS4\W?%"B)OC1H3V 5\C7"ZKE9'[;O1FG5* M&UTME(Q\/?I)V'\N";2YG?'W[C/)Q #!R8F\L70\\A'IXQ2G M*$Y]*\=>^("*&\VKRVDUH^6J\UQMG0>#+\>E]4\R7<_=X\+%-KW.6-NQN9".)]"M,T2_GXGM!NQ3@T\OHE=\-<\Z5^\0!8&3#&:LH M)%#\/Y>I#PS#/*\"20].P$QU.-WD1J747#,*PSB:5WOE9'A4/M66XOW[?O5! MT'J2N(O%4I7[Y'H4SV"5CV,3D?29XQ2H4X]"R&]7"X9AHF^X!/.B\,"-4F7I M?LM.$_%YL5QO#I:[RD"/AD?1BC[(K6U,*F78:+UG5/3R).64IA@>0-&*)>*1 M>.(T[_QW-*SG."BT7KY/RMVEA CK^3/A\=)]-SI0R:"2$=8CG#XS'3[$GHI. MK]FL"C6AWN6KS/Z.!J9<+S3:-;Y;;M09[*3XEX404S=L&%::W,\=8^DQM=>< M2D#KO&B=%V5P6N=UM+']VQ;'*OH(8U\",Q>9_M@S@1-?W'ET9X@1)T82/=4:!'T]-4646HFGC0_?L&;(0-N]ADOB$&'A%PDPBV-;^63'0 MW++A W+6X0V9^1_/,_66E*W]TV3%6JCB%IOJZ.]W(S%^_RR%SW#'H2O\Y8EJ M<#*MUW*3K*S^^0_\X3]'4I%H8N&9>8/9^Y_P6 MKQYF;^*^5^[GWON&Z0+ZU4T\^;],X#6FSPEQ-7$3#9#00QSWJDGX&=Y\_,], MEQ[>AX:E8!?13Q.IHJVL$.[]J%^R4K:Q^,!E^G,D>Y'WCBEUC@ B\;:-D@DI MEDARXU%V+"9&B;$T&8UE-!E-1%:242R!DB+"BR%^/,.^0J/GVT6^'L$5!CEZH=X0\?M5I5,MYO@MOO!OC MP$[I=.$#;+.$>T)WCKIEXK$(@^-/H1[IO[KBV%%%DY$-%?\E:H!PMH5/6K-G MAF.!Q6=%&+21$,#1 IF,-<-;,>ROXE^?.2^"VYE#G/'%.?9TT9%!=Y/_.JR% MZS"O.QJ,17J/DH+C*$##G(JZLB,=Y?8Z";SA=;EI@LZBV^1M8U+PE93.7D?) M*Y:D&I9CHBX,ZE8EAS&3< @4TU<]*-W8D= <:X>YT4E.^[R;H1#T1TD\_8+ M[4:X6>P'@RQ)7,!P;=-!'W:LWZN6BRRZC"3#780G>^W3;_$C?\*6C$S\ZN1K M\I"?A/@>S# Q!F\?L=C?3%[HY-KE)O%T- I,MR0PM[U.N2YT.@0^;_E.F1P- MT&P+'>PFV?M$/H*!CIBF":^D[2DS3,W[6528"BUVL$EG!ZMXWMFU6]]T>?,P M:U,AYVQZE@%SZUCP.\OZ0*1Z="Q;F6R?)PZ/D0%V:5VZ8?Z%>9%C_R:?D=>Q MO_\BUHPCX:M3 '#)3"V8#:B>TQFCP,?K&6#U-FJL=;!Q+&=L*;(BF@H"H"XB M31.9IK$&I.YL+< 3^+!:S1'/G3B9@"8E8G/*?W"QV?$?^S>#3:^V,0;;UV)R MK@'V9)S==N[0G+=5$3!'8IJF\8BDPX^8JJ)AM'WNH7QSWPMITC$<6"Q39VJB MN57Q)SELC3YY=J>V_Q6H-YA@Y,=[ _!@]@5)0@Q'Z!P!RF(U'%JJ*L+G?2'8 MHDTT0:8)/[$-1K0(RWA/\Z9RXSV2"0OW=#T^@(4CTP=:1LBX?=HOW$/.8.+, MQ%%5QL35(U@>D X](AB1/HW@5A)L+WBWB1#B 5*0R#%^IVF*9<%KTE(3LX(&PY1;K' MU="W.4?V#6$\T-#18; 2T,$ 9,6*"*Z$@4X6I@+M@>+PD8P6"%O\MM*3 ((4<96"@S0EP+O_9'\!/JO -UE0WOR@,K-07("C(,O MF715D2 'D>TQ_;?ES16(#7,SMX?5A%\9)O$7P6=33 2\@BY; D"X<_!^IG@< MX;/72[T<6!=#.TPGP$ ST5TQ^ FC@Z2YJWG4,P$;,'@)7A[Q+6,[IBX2TQV^ ML&:.+0-VN@L/BV@"1TI;1C.PG;GS\'9BF,$Y!)#XP(=/EMB%,=&R86[3P":$ M%]A;)YB%)FY]GB;?3L0QZ ^B*WLR4@&8@-BXN0*3$U55]#_);O*Y8?V16\#=2K<,* 8Q&8 =1X*?[?6;L;9.X,_@> M<'=BBBYE<1\=0W4\JN(1VP@ %"3%T;UQ8R$]^L%^W4Y6U@<0P$EQ>A9^CF:- MIQ)3>,-4:C.S<]-0R M.-_N6UL&A-)XN8.FF:N;!,#_L! ,60-R\GAX%$N\B[[!$7Z$0J([-4(#3T%] M4=-TT999P1L"X5A$@72PP0)][.U^N^J7A?U6!2('H J2BWO&2Q$P<'PIG!B. M"=OITA%-K*QY KA%HLG@#5]F[D0=OCLX5T 5!"4GN$63H42] (S%E6,'.Z M;= O+#=#SF)FX@HQ8X1T!D!7 P)Y4'XTKAO 0A+]9F*)8SUK)EH^K &Q06<6 M#X?3 YT!$4G"()Z;ZV@$KO'T(&\S@0^ 9* K>=0$H'87 -/G='L$F!;QPAHN MI8"==+(]>V!^0%1&5BQQ.@4,([K&N:W],$[W.7@L>,=;..;"L! 9A2;.\<>$ MG/IA"X2/<.(CU@]A5PD3[Y].$N=2[ID'JQ4!]F&0"%3#7[KZYS.2X_$/: T( MV7A_!,H<>?=A8EJK*W](U_Y(&)5.;Y7[>T$ M?"+$1)B(* (U0 &2W0NVO.Y?$=/# WA;&# @_J K+41L! +W6PZ&$$].34?U M@ -DR5$]72>HU7406%'$S"#-_&)]S(J>#76DB7>$@ F;\S CB!2X$QSOQ"+L M>0 M^ "^5M6]VDA0"J3?(6;*F:GM)X3; ;";,ED!8JB(AST,\!A^NL!S=&TR M_ SX'BV>M5OP[D"4'7&/\(0.19YO[G'^0-G#>@![&9IBVR=4!K0Y3V?@915[ MH$%E#<+N&, :C$_/),#?!$FEB;"?D5"Q#+($0\8/ 2!#GDURH#10F8$E4I&( M0V0N!Q^%G=_"2_ZR@<(+(U:!Z6%2T+.WG3PZNFNBD!7PQ//E+EU4.^5?O,;D%T T7#<2'%D GP8.W9 MWQ%\[08>$+"?R7CU[9,?$PI@H?0GYCEZB(FY0OZP7^[2]>(\Z1B^\TB$W6$! M3CUOTYV\O_*LAM3'9C4D8L^G-7#90UH#3D6@:0T?E-904N>Q> K^Y=(I+WT! MN-SS"WCVUTO11=\W\(88(_?CV6>\Z']P!3#XLXN[66"! RX6T]#AI>3"]LL. M%]X:--/+96_(.G;6@+^.E/H"W[G=Z[[*R>0//^TML'YPB()U>ON?X<=' M6;#?_J,<)^D1$BLV3$PR]=;[G_>!#=?P*S\V=U"&ZXNLXA0H5=+\A5C7$ SAV=JUW 6#QK6 F, MTMD/9A$( D16]CWYQ/- M"O0C8D6+AT <1GI\-;M%FT66"GU3!H8G;Q?87L&XW1<-L2$0.1 .:Q>89H' M5"-LC8/$Z.2:11(VS<-HM#&\B"6/M,0G&B"V<-S4(>O(*G!-]!/30CGF0&R% M3K=OUV1Y[%#$C A;M)P%2'[7P M)/8[46&?XL)8 7^=B:U)[!S#(F2[!O1*5!WHC?AI'!W,')4 ^A0V$1>G5<.R M<$X!1N$CV,4?NAX6W-T)/H.,.AIV;:% K@& ^@R$"N,O[A?'&KPHBMMO!/_, M1+[9CAU=)$@3.48Q^ IZTA1'(V-X9LPGKA[?6"8S *CT]HT(&3W.C9#<))QG MO$*_\C ''=Y'X,_("&:IX8"SYPMS-]3 VD!W\G&TPUH@"0=X0()QA&GB19X] M!'^Q?Y@+; F3D%B)%6TK,.OL3NST D^>?_0]0RY6_(,;9_D202V?=^)OF<_ MLNE@MPWY=N^A($2585_77=J?U0]SAGP8VD&/.N1*<3$V"O\EDM&8F\+1R04^ MXSPW_,D4\9B?3%/!Z@7"W$X637Q6LL*T#^X7V!^XM5\E$<>DFL\M M,E*-=4!?(QPX)B%@^,_5/*+$C'8]U[)#_,BNP$Q$R3:P/E,^=J21) 699"98 M2%6?4GV+.U*(H@C/!8%7YC@!#;9@UQ<=[&I]\"&3/"/Y^4[':&)X0(;S1D!: MH0O%]'52_/E4]Y72O3O/C03 O(%/K056CK&>M_=*^BJK_Y2]S)\C&2&$R/C: MKL=O ?#$\'-*5T^I/AFM"\?$-A!56";"CQX('+/G*R9QP!_/KO'I=.YI)],_ M/)\D"OG$\SC,\R[NXZ^>PAHP-6!R8.D@+TCZP;DC!:!K'_-_#8F6E^GWLC>C M78I/8B;BLO-4?JYV'QOE?G)\)K'\?+MOG3Z"B>>UC*\8 G(*!@1I0B7Q!$D8F9(-1%=%UV.X!P V?XLP( M$S =\%"45Z)NBU-D.):7V[HW0O=='_4#SR2^OT YKY&[49/,_NS3$5E8P;EN>_D(H2.QH-\5 Q>F\UB$_<4Q([ZZ' M^YQ SS\OR=Y'_OY$[(9-'M>V^CQ//E)("/1GU&_W1!#P__$4D80JGF"@]*/L M\9R;Q4"0'Z:[= P2H#9)BB$)GA/GB+L,7DXHT3^QR\'/USDL*>@6%]67+DH< M[AQQCBF"YV^!=)(ZL7.S/Z79W[C%:2\'*KZF2Y_^^X@U5IC0:1O=/7KV3T;31T.&6/62/3M^.\-!F<]026 MGH_:L/.["J;K;B6,&6P_@RE$B:/1WA[_5"')S(>TI',=@\;IFVFN_NGCDV=I M$.5[!AIU%%NR7OC_<-I!X!%>YB#^0C&#\*\$EOAW<.V&X<]F!L!&>9Q!<# . M3ETP 9N+4)SD"G5-LJ5L_8,=,$'PE^FYRW+\EOF^4QU-PP[AD-9V;Z M#&\%K319(4D_KG\5?W!PAGH,LQ\C$;-#.H=K:KJQ#%]L7;'T3'C1-$F"B3M; MGY$/,0!/ WE-QMTA6>/I>GEN*,]7X0XYXGF(2'8+"(TK3:XWP4W_DA$)-._] M$[F\=8CO[+.(7>6*X U)'0$4P"=3[I_B)YCX3P\"ONN8$RU#)[\'D5,T_^E/ M.<%ZK<3@PHCG\SV.P\W7GO&1IAD?WSWCHRN-AF:S8_;SY7HOI4NU_E)3ANTH MCST*7@;(OJ598A=;45ML>@V]OM;E\GAZA];0,A9[VG2>[PX;7'*J"-PDWD;I M^C2S6_(C[K13N5'I/_+E09-UM(P]7.XJ^?J\!2V33ULZ=2$7EQ9J=:Z-1YF= M-N27#7X-+3,G?:9M=BYWUIJ@I'C^5GA(EMH:;GDZT.PMVW2*Y;LJF]NL^'RZ M>=L2\Z1IXFG3*KI;23O.?IA'T^NVTQWV*]42GE,L_;2I5*_U%WPZKPDI45E; M?-:ZM>W6*'XZ_9T]GG>&UK(K5";%W")^/XL]IG'+D^FGE'%W6)(Z^CR7ZA?M MF10K#1 /+4^FSZ>C^?HX/B_U&M&I:3UFG-HX@?L\G?XDDT>\5'GL]XK*8L:/ M2U.6+TQQTY/IYU>+4;QD5Y/IM]2YBA;U)2.4-PTQGU6 M<^[M46N4&+%/6Y;4NVG96JR:\T%&Z(BLD5WN%E-H>4*HV2*J2O?K[4;(I5%? MU_/UKCE=0\L30A774_TAG;5W\V+ZH9-.U'?=AWO<9^JDI1XO6\V9514)2=O#1J*P'NFZX+33N9B6B&Y%A/O,/FVI/,AF#-4>C%ZGR\4J MFC:5DC4\]U/B%^-+HR<+38O5DO%Q)1K+[Y"&'W]*_,U$FO5M5"O-EX^)WJU: MW':+<=+T9/K#3NY6[7?E1B\G]2;-3K>Q'A9(TY-UDA6ANRKIL0%;J>8R:>$A M,[Q3R%A/"#"?-.+IVE OS5%>XH>M:&IB#?E1\G1)]0HRG.KC&O6V'>F.E[;3 MM-59C\AEX\.@5O&3OC$KN;'XKA3+LP[O-T7\O/& @VGN.D)I6JID195I%*JE[K+CME> M8Y4:%TBO)]-/HZRP5.K\ME?)V77)4;AB;SP=I4ZG_S!3E=9CK3WI*8-.*948 M#QZU.FYY,M)6*B=JM_56IX,]#;?;6M1]F$H;.NEH6[G M=Q4GBUN>C#.6[T5K2$ZIN*6)R1=\W->Z739M"!JCR+;GX+'>5P4.NA9N>\&FRVEVL"P]HSG(+8SF*M^^: ML\0:-SV95&%2GA9-+M;JY296?C>//@ST&.GUA$_'LW9#*TLK?MYY7+5UXTYL MQ>Y)KSX!WIZE^$+>X8N.ZU!8N,2%9^"P TES"YIN6&WO8'0VHW3\,9#51O+V$C:@M% M9U>P$^V944I<*CE3 T73/XSOAEW8+^B!QX?O_>Y9>QYO>!J]>[D#/ME"7%CH MI_\B.$KL)/*>@]5(LDZZ/TY7V18=V_ _<#5M\LF10LX>#K?TVAQ4:[ %LJZ. M;YO^T/RIN71XW=')\?A-\L6C4P/:<:!_'-C#Y0D^W?SWY)J9GZX%LP9*_=)P M\(P[\F"_J3BV:LLFZ5IDWT.JB:/^)_()I<%+C^4:B2(:* M/_R_'YD?O\LWW$T\Y><_^VGAL<6&(>GXC)]:?4$*9GZ'K7YU=YE;%Q&/1=P7 M.%]G7]A*.>JB',5E;[+<%^,H-_7LETSUQBO6/PNS*4)_@CQQORM/L=BE*?3N M\N)5 U+$_1@.R=ZD7W1IAY5!N'=BD%_Y)T.G^GX^RV1N+DNQ"W$,5>(HI'S( MGD,AY;M RGMM0A12?LT?+SH1P\H@U,8+OVR<7?K7+[1KSY_^>0(-[V;-?27O MB'M0S[7 Z/6PBJN#44ZA*MJ[JFB4H2CT4.BAT$.A)SP,1:'GB9GXU3GE]ZS( MP\EG/_];DA":3#[9L*P]/1KRW60A=%/]K;/0WJ%2(72$^)]WF)I;4AZ&J04$ MFQP'$CS;)GYT*B'CG113,+U#KAU=<<^)P5<,C_QK,$:]3GZ4D7*Y>64S; L5 MQ1XF8[U%X2ZW_G%TN@QOC1J3P'$RWH$QH_V!,;?;_[" M#&D0JY&KKLYU&3@:O8!/.T>ZM#W?7Z"EM3^KYFG'_@D^Y?T!/D>=$7RH$7@H MP#);WL_MM)5(#+..+'16.[U8OZ\-'RK\#W(ONR:JUO_]B,9_,.Y=Q__W0]G8 M/W5'DPW;^_[I$3LYT9KQNHS_$@YGY.XGDM_?KPQ[$O H_#+^8W^&5*F8+$]2 M>J_7J)K H)-M-]'"Q[?%?_P3X](1-I7P3]ST%_[]-OPP" %N4N!'*EG"L/, MWH!QWJV,[V8CA7SZG\7R8=3EWH/E2=5+&&;V*2Q/09V">A@Y_"**:^P[*JY" MJC2+F9WX@-W6;'EP7UR*R\SZ4Q37^/WM?:ICQ,W>-F.E[,YRQRTU[2%JZRRRZ:XJK4ZS46 MZ=URL]N*<^OW8RO[[;E@F!W8G#O[O3F/QO;AW1D+]9$WA@V[GUNQE7H_46_> MYN\J57R-2>K'/\EL))OE+F>@AHE9/U-7#YM,?S)57$,V;$2A^S_=_^G^'PZQ MH-L'W3[H]D&W#RH6;W:>AHTJ'^])#8/_.#!)__\81Y[8-6RP_VA Y /R'(YE M(0ZR(!L.OO N'!!QT13>\,W]2SJ2+IXJ,3:2W+#1S3ALPVA,Q>E8WB0;OY_K MX%Y_^;KYM72/8>T#'.)A0+60.CFN0=8_+*4K?%.G.5]4 M%:"J0+A5@>M,!B]7DM6T+45S0J>[F5>,3JZSZ'Z,*C";RXE_;9SP]8^_ =4=#1XL MN>_QWJ_HCNCN2.\S TW1_0FP-^2#5QQK=';JKQ2#HWD=J3-YQR13&W$C3Z'I M&@%'A]G(%UJ+*MMC!RS?875M@J1.RU<$Q.GF9]V8QO2O&FHBK3M0N>W M*KSU=O_QJ)O<64JKTVS-MS5QG>ATXF.A!XH' CUA 1W9IH,N+AL9CQ4R>W9X MX10;PE.@]Q@N>:*2H1KF3Y_%GWZ+'_D3A 29^-7)U^0A/TET$(>E/(HQA&3[ M8W(N+QR/CF4KD^W3B-F!'ON167ADC&(Q)IZ$C&3&L4".&7N&@'LLF]&0/3/D M&Z:L2ZZN*:J,K$!KFWQO,;;!+!Q0?44+,?91MQ%&T275P;C H(VDX ;B)L*( M)O*^@<G @^#97?@P9VC Y%L8'GR%6XD <^+T:)1X M+*(D 8C96+=],IP;IG#R&;,PC96"QX';@Y)KJZY"S>"WP!Z,:#,BM%(DQ,R MU@AZF('0*M $/SE"QC(581I!(N*! "!BG@!Z+41%CD(+$ $%Z/?' U&-]?EQ M@%)NO7X<^%O\*^ ;>!)^"0N#%V=AHI5B.!:C(YO,S3I:KY=FQL,2X5$@_!.\ MZ@A&1-85CU\C2X,?$1RAB6QX!KQ&HJD#LU@WC O;OP3I"Z&=;_:TP5;3'50P M#2T'?6-K9:#8LQQ(EP&//$6_72_3U;H+L2APYGK!/Z2'DA&=NF8EC!K)O/U" MNQ%N%OM@K#S%AL_!RGJC*S"^V^5RWPPS* MW1*3ZW6ZC9K0[H0*4@\@12:1_MORP0@#(!9KT^4G$ B=L 1F*(M9 TLQDL=3 M1'S'@*4R;B0R&(Q5#'(:".4,Z9:R0LP$_@#RH06C&3)27>'"S@(%XZ:)%H9) MG@E233+80P1JJXL)"/_T7?U^"SWPM\J #16UC0=Z20455 M<6LX]L^)LD%R\.9#=Y2^PG23JD)TKRB?;WNZ-UWQ)QTK%+1STZ%=/[Z,<_91DSQ&3K;;@N_T7VVN.)DDRY MY0.YA0LUMRR029R%.F@?QAAF22#<\C4VRDSA8J9XV)@ICVQD@C&,"+L K^B6 MYZ1W-5K*1Z'DHT38^(A70=\6[>?8R#-HGD$KL#SQ,:Z4LT+ 6"S*>X:YA[TX5\9*A^ MBZEAR!:6GW\3]X2Y G&S?'GSC9<;9@ F"G93G!5 ;-I8\,J:*-B\66$?!DS? M=5V0"]+AX[V-Y'L)R*($FA^Y@_;#?>YG@ M (" ^0PQ19@5OL&?#WBX045]4 M0Y]&\>:$9XP/S'+Q9&^>!9U8]LRP$+'D@-6EV?%#]T8;4K G!:A Q#7J;7#X M SS\*- PJL%43454B:FGN, 4&.I^KHQH/:MZX6<>J"D[>_3SG UDEH%U]A?4 MQTC3>,1./&.MX^_A/S+JPU*&Q:YN^T2>F(9V1-.S:T1L7T\U1="U1KAJ:F+/ M&,QYHMB1ISP"1-YSM.O^(ICFO@7L%R'SFU0]T30]]Y 'RG&,3?YS*[8F/Y M55RK0/&(L'JZ],72/><.=!X#E#7.\?F=$X. )>;(N:PPF06PXNTJG(!06 MSFT"JQ@:/H[/!J$6U3V8/@6OLTQ-)HDQ"29INM.7ON0@/D(".@ [C@'@1V3=PR:*-X?N4M&8MNV!@V\L4S0TI*\Q/Q,&F M(IOL& 0882\331/+%[(.O.9N(N?6\%E_'IZ/:%F.B1= -)C&3IRAXN6 M-UF8OK4P=()I>ZJM#9,$:[RIXMA(6)B]>U8AGY!];T_P_40 9F!^)+Z!I[O" M645/E1%&7(MF0,#W2XW74<$(ZWXG']F6'A!!7_O=^1CJO:>,195(CC5#R&9D MX#2 9)LPOHDF*MX:W:[(+[#:0,P#7R!=KG*143(<5086]W=^!8?*1*)NF3CC MRGOC3>.$2$2A =D094QD-^@C ;9#AYHHHP!NPB9"M +9,?W-Q4/IH^TB@ LP M7TDQ)4>S;/P>@'EEJ*L#HL*8B*2"XJY9I/5,U*=HOQU8D@'\ZFDGTM&V!+NN MI(J*YNZ^>%<@D@1-507D4R;]RZ(F0G5@'U0%SQAK[_PH]:G(_<$9LH M8#9)*A)-G)DR>V("Q_&:!2S<3[ARBDL$"DQ=%LJXLR*S('_^O_\*SN:0._,D M(A:8IO=HCEC"4Q0= RK,H^($'OQ35-?BUO+3<;(WB=C!M/='A0G#Q%B/R7&[CAZW!$$<(3Q6"/3!R;9Q8S M=S^;N/!#+&!0SH\5\H-2T@ ,#21T/$5?%<9P9+Z=01,":X8$!A=."U"WAT21 MLYH1@:6 >HH'1'9/Y0!A@?E80!*P8F";M0DT^_NA:[N-$>[;M_8P6I*<"@OT M:7=GW#^&S"2@UZB*;Z9Y^H5U&'V@TG.@1!D74LK/ICPQ^8 MQG4V!!00V-Q.)J5\YD9^1MW2W$O @H!21;Y[#_Y_::+LFO M]VVA_="\N+[_)&(*[W4/OW=/6R"J]JDA=YC)&&%KVK/^S%.[.>(J.(&'!"=% M= '+P'E61'&R]YE01 N%">!<++P0Q$67.\,[STW/5;:#KBULS+D6UYD9'=QO M_LP!F]S9>23Q,L8"ZOLY4T#^+1F"$1,1>IJ_%N3%'E? M5Y)R7Z^?6\$KM-;02C4T\\MD [2]^P)R4E>$]1,94PA2]- M.BY(.FZTJSF9T:J30/-E?F0NU5HWV]/XSR2=7>NV#865ZCUGU:XW\^NL=M_B MR9$#-ZEG:7?,E&^5*GMF(O0:N?ISL>+!.E5!+0Z14"7/"I4LJO;]D&7;0H-= MK>(UC4WQGRQ45J[(Z8_%DJ!,4Z66,FH*L@68/.W(EWJR\49PPC=HC[J]]VD%M580,!748\];Y@4B? &R)$U62T,+VMG[L MVO!SBOV1NU[6B:?"!=5Q3_DRSJCQ&&%EQ,PDG1!V>;9S'ZDU^(.#;N M@%VP;X-#(!Y-#Z/Q8R=(GX+21<#4;^.Z]%P?_ J4!?)[F Q6L/S?!_QW(F&E MY^,&Q(C1\<).01K5?3ZVNVHO+-K?KFLP2,"#E^B@#8_]?,*@W?A,E\=;R'Z- MH(M?N\L\W_OY*"V.I)UN+B?:%MD WANWGAX9DJD.IYO$*Q'B9 +C!_7VBML_!4FND9*S&62W/$&\N!/(@.6_;TQS]< MYB;VL3\0S M8_6B6H% 12 !PM\3MX=XFI\C<%P!!@!A^(2QSKL%3Q\-3P[F5@0BA6XXT6;0 M9D'F$G"M$)^-Z(:Y#KD@P,6P%6//P][3].C(4^VPR9(%)&] >PWG0*?(,XN/502RA$!W3$U2AT8FX#I5\*_< MOH$XANIX"0*OV2O=1XK3*9Z2?63W$;7@6?'Z)_0HZ]T#)4BS\YN2D]QQS9C8NF7%16UTU[$FB4YS MBDWUF\R7V;;?@4ZYLMK>)(VX.4^U'I>)1F,\1ANPOF*Q-W@TR);F6CL!E?KE M_(Z#]__@F@T"IG6HJR0Y,M.@FHHCZ<\E],%WLD%VCT/'.FR(8D=^R0!? HK?2$<8A#WI)F M2'9@1Y"];#[?Y#E>[T>76SW4!%)B!A&EF8((]I*]TG)(LZ<946<2,3SS.)"( M0W(.W*#/P;QSF8FDAX"T>/E^>!Q>/2$>B@9T<0,COB$^WGK[+&QTBC4CC[5) M[JMG)'K#)ELEL? /O:OX7"3\H>'8"X>8_*!=*)*"#T"Z8001FZ*G%J7G-O 3 M);R A6\LNKPC/DEV]79-4AVI'B3F'+5XEZ8P)@N1(2,\CF?B38& )F%A@UCT M^XW=33<^>75A.TA&N!B?)/VX]$0%4%)D22:)T*MQ\(\31(5PO$"A..%!.O,)%IHB?L2=G M'ES'M$!)/DY)PLOAJ1!/IH0V2')L]%)*G*L:GA*'!&QE1]IS98!W/#UKGU[J M/TXWB-AZ3@;%U6;L)[HT*&N.[9ANF8!IB>J1)YR0!"^A&[G>/P(@TL:989:K MB*V>GFIP>."!:TY9);+/)R:\Y**%C_M>"A?>8/9=:+#B4Q=@)R2]GZR^#Z&^ MHUZ4 01$:8O[)/E-:(H=6#AG?N$^WT=YZUAW)F^#J=6>$NW*%.8,T=2]2F:7 M03Q!M#XQ;Q&7-NJ^0M,^)[]$Z[:(U![J M**!7R\$LA_#+)]ZMO>U(O(7H>.\^)*!V2 [MB:R RF*A$^X-1+WWDN[F[;F9 M8FX>JHQY%L<]1"*SKG3(\/2MFVCKSDG>6UXXR6\&V(3(KD]L5[QA+ B"'^U3 M_I2(]%L8,7U>V6>$'9_=<.TY85F:$_9]<\)$_[3#6J=BBT9/;0@-]N$!C*.H MGHI-<0 ++X(8:-E$XL.MI?3T>;395!/91J8ESG#+[-.6V?I :-2ZMLYJM:'= M*4B3H5E:C[C3/B>[1#I>9].CGKAYK#U:AI(7!KAE\FE+D=WT];+$SH4<6T?I MB;+J1+-3:'GR]/O[A+@UA>1(4/3X>%YI+]E6%O<9.WF\/,HDV8&&NNQ6UXH/ MG,1&'P;\*#YBG[;6Q66V%[5C M8*\*Y4[?:$'+DRG5)F)+?>CGYKU4+SZU5#NE590UM#R9$I=;9VN&79#GFM[: M2O5Z+[IF<BIE];H[L3+.L1&?Y;O-QZC M>9)]FXN.HU;W/*$3+MV7F8W[666;=3SME64 M'X>#,@\M3\A4F+"/@]FHLA.TAK(1[,ZDEASSWLF=I.G;4R&Y-Z5"QL.1"GE6 ML3=4O.<^*3O!.O912I:GX1YT>L_^)I4I9_5_?+26;WD=JR*R 5,FUAY)S'O1 M=#\<-./&4UV/\*D;>"*N#'/O!<:*AX(F 5\P4&B'E5.B>P03 @\Y9&Z^^U,7 M;0B-<:^JQGJ:V'@HVW3UHPE6>E^N^7SJP-\3?G5P(!T7!1+R>DZ8B%<-B"MA M-,?=14#WM*59U%GL3UCK>;5%L&[N1RXW*# 7R367]?DER2ZWN4)CK7#YO[ES4GKBSKOM^(^Q\4/F??V#O"^(@9>MW;$0+$/(.87@@A M"1 2$FA@^O6WLC0@$';;W<:HN_6P>MFXD*HRL[X<*BNS9\[ '0,'^^UKG;YK M;^<46#?+%@<\/8G'*F%M']BTYZ_-K>04)-X0#K,/W]Q+<[9\XV-)[X83ST$> M$\_5#AY;N.!IGTD/AT:L;+FY'*>9>+->9C3K=M8RJ#+/6^#BE7N$ MA_UZ?(\*3=A.:A8(--!>"_R&"6O="7#O.)RS4:QM+MJW&A"5[4SEB(5W=K*X M )78=A9*V+2<7:3IL#!/J)9H9]! 5C[.G;P2 TQN.U/.F:#G4K8WI^<<([NX MB?S\IK!Z H/N4;4GI.RFW]AI4\_PX9R=:?A.^CEN@&_MGH4,T1H11^$@O@+7 MRPP^#C;H:E[2=^ZOO:F?'G5O">PYGX% M!S%G'KN @WGC>W!NS5/[V-/B,Q(;C'-..&0/H1JT.\")M.X;\@)<_]"\,19+ M=3AAE:O-C3<3&"?^/>FY1.M>9C@7+'!&P52L*3KI\590^>JVP\U0,JC$N8CX M!S,\6[].V J'E#C#NBR#;5"-QXQU)$?4/.=MEV=7L$B+FK(MR]H%J[PW35W! M]_(.!KA+ #L=8AD$S64%NV!4<#$;295@'(<&Y M57U]5'_I(,!J+?F8W_V0W&D_X:;&VBK=H\7/2IRVP\!]?,VV->]AI6]-#,U$ M,PJ(U+BK!;LX3#D$*5/@!GX3F2&CTTFA']NTY]D&(ZZ&[(E4VS$]<9DGG?E MLN^[)NV>,F<]I\PTQ9-LI1 SI9@Z(26I/-A3#>KI.WDK.WIF'3);PHW5@6XX M!4G,,TEV MU8CGR!)/U0KBK-,]<8O?"T!BGXT?Z$,X-$"&BXLDD9B'?7S-F-$Z/Z>EU'C& M##:-#3<9+IZ^Q_U(\B_'A+,0PRZ;?9VVY41MKJWQRWU+!L0 J5CAF#6K$]M*0H6-'],X;VLYIL ). MKB38GJ%UML\:%P87LF9Y :Z"XE,^U4ED]<;*X*'60;;G@-*J0?.JR#DZ[H)Y MD*H$QB&$>I#_@>X%!],6N;QU?BY68I7:4JP4 M!D1F^Q($AQ6/E6HPETUPB^WG6=Z*E4=YINHS)"0X.:Y6:2M"4M2]+]?AAEZ$5U\#" M2;-6G53^VSV[PCCJ\9*5K;G-R#Y0R]\D(;.C%5UJGB2RQB:86KFM&MIA?Z>V M!U_>@.<#562M6:;0R^SWP,DS9H[BUH'%Y_.L::C.!];A//[DX@R?/)=8M<>< M3^/3V9>LE19@:,[4G*79I6-_U#P*/R>1>,FF__5&VR?/@;KG^7"]8(YVD$,W MY_<(E(C]9B4]@!7]PUP#3YE<=R@[PXGMPJ,3#SS?A!*Y'TE#L/_]A$YN(6>" MQYGH2RH3PE%0TY$T3.(#B+AYP))&=". LJ:T+K+*B< M04YAZ-$$DC/1EUAH-P>2,]F7=+AG LF94,\$E3,AF@65,R&:W9DSN'7696^R M7PHR/Y ,T.++=T;V7KK<%=E_F2B9'YR47=Z'_.'!(9 @FB+_\?_KGNXY!.%4 M&:CT_YZ23S]+G-1+*NE7O1+T^/CQL6(>&M'MH:)$P M'GU^A9:A<'T*07[D%7[U]>.[@](G[,'$2S3]9^W!GGCXX X,5=WO@$:!W7RQ MG]U\442SQ)^U^2#]Y-/4V]N'2<%;_,=MIY\7G2C.#?G#1"?VNUA&0<.BT%[Z M*LB.8M'ZP_;=YT'V'^N1A*+S+LC^.5/Z7'7IVW]QG"#,YP^VKN'R#/(<>G"W M4/^TC1&X9?Y4#:9/2*L+'"'^^S.69B5R!&%MGCV-DXJ]B?+QBW)H[[T_]DF- M='0-/].ZL%MR,^19&5\*P\5PM"-ZV31VS"ZW_=%&H]<\.C!WYZ72PJBLCC:Q%Y:T6.5;B91J*[J6>OF?CS]E$]C[8$=H= M'EYINNNK$3)## M7F'!],C1)'):3!,0J$IDGLET\GZ!JK\0!]Z\61GBP&^% S]EXB <*'>;@Z8\ M*:WIU@#MLV[NU)EE'QVPIJ/-$;\[\@,FWR[7JE5^/)XOH"U""EDXR>=DW-_P M/+0'?MMDB@"%D_X0./S1)9,_%PU_)5J$T#"]S&4V&YKOTTZ162M<8>+14"Z['G;#8>YDD](D\J M=4+,RU"G.M I4N$3A@NJ;1GRT>2HVLN..8;M=!+EICE9E"2P#"$$%TL])U.9 M$)I# H!*$ ]-.6(3<4$Y.R9)*B7J[+0SU;-RN/M@SU;J>6_KDW/CEO",XU>HMI"L?E$M'G^+TN(?V]>6'!VS(A.#P\N#80=W1]=S1PR'&ORT2!6V@ (/)C'0P?"I&SHS 6!+V;(H>[7+3+%Z7(1.\@ MB,31JT3RF8PE0HP,P2$$A_N&H$X-,S/=]1*"M"U,M:W9]:-S[6MJJ5C= M%_DM6E>DS,382FN"G2N<588,J'C&WS'\*K3T/[@-Z??K=O"_:U/5+V\$G/%$ MO*Q502/@-;M2-0(Z<>/6TW;7BP>! MCVP0@P0LO,!3G=@CR2'6-[NFNS,06$VY>IB!2!!!NR3B-*$^/_*%R+\Z-5_G M84W '<=Q,UMA 2%:Z/7=A-;CT01^$6Y K"">(4F^7/1<5%B%@W?K3GS7;FT- M\@CS$16K]?9WNU& IR$")Z-5 =0M;6:X2 :,^)*."*]6LHLE?'(!SLQEUX/_ M_;\N^CNX1P17S;,]Z[3?'<. O! B5OL(=H[>_(V5]^Q1/S?R340=A/_F(GD< M!V;)EUCV7X3G9Z"0C[S08]A#Q(L>PO;7+ML(.Q_^H(^%S2M#W7PAHW[=L'A3 M^BXI=8L 5^+LM+@^,9G^NK]A2W1,VV^H27K,J9'%%(;&GV[M M8!_X&P[23' MJU*.R6?:QU%D.B);$@7*"[['>D=*@RS5'*I]R=0ZE5%]?FCVN@LT,GD]LK5- MKPNQS4HF4SUY*M*K1'K [)%*]#V3.HC1SO2X;)-LE">+\W2EV*ATT$C?,XM) M];#D*PK/Y$N=QJ*J[V9+M3.-3\GKD?5T)J=.TB66%.=]NA;=*W,N!?6*?&_/ M5J+JNJ3H39*M<@6IT2YT*7R/WO?V%;O:L['D9D&7-"D].&:C0RT"B=>^M\L* M'U_N)&5$KJ>U$?IEU]XE*.OBVN5(;6AT53DKY^C2A#IN>LEV<13O3)/^9[*E MS"JUW9RJC)BJ"(=D?4$M4C#2MZ+>E(U/IQI9HO-%4]O38G,_3"S02-^*>IMJ MM:UIARE=F\W%7]_D_&@REI*12 M\30][0^Y%I,'N?.O:5.KJ(ON-CVB\_-QI"H=LB.]#1/UKRFE#-**MDTLR%1F ML^A,]-5B+,.%:-^:INSHT"N*3)DYICE]&VWF1W0%1OK6I/4BJUVT5%3H_"Q= M(GL3I;B60$9]:^+*)?:DQ5J*)(J)F;[B"F/JB"\<^-9TB-<63';8D>A>>BZE M*C-I)S3AQJ9_326R65\O)V.!+"GKLAH[C6(ED[HE^"^3509,7FE&RKW& MLD=-X)D^BC)J7DER5*9.Q4+ M4'V MR$7Q472J%KOM=CG>8%J,,%DJN34R.V&D;_7#4JUWK$8&,SJU/TGC8[M.%TH+ M--*W)C*]W5!*EBF3VR8W2,@[C?3Q4Y=H9*2.LCFRUA2,YB)/J0P>Z5M1 M)G/(#"@SUF+6\>&F-=033'VV0"-]_)RD(V(LL3JAK;Q,G2:C5JQ:T>&9OK7' M<\O=22#K75*L;ROY>5Q,'MNP(C\_V1G7K66*2E):Q^H]:D%VIA4-#W7X>>%F M?49XZM*QS+/Z$OZCMZ:X0^XBLJ\MD87>%[1U1=D)NH'-[#YZ;TY6.>G) ML46*YE0O[/O,C&QU.FNSU:>) M.($]N^@_1)[JE9_QOP3=82H#JDXW^SV":A:(2G- ]_H-_+M;Q_K+O5:';JD' MTPU$E4 ^*(%_\ AMD$C3/[ONV'L5T=J0+RS+A"RB&?/(W75WE>6,J\@A0IZM M3"#4,C7D# AV# !:=:U5W"A(U0A9T-%S#.P@@S<.8Y"'SBU970#'>8;\9J"+ M<*;+"T$9N+L0$8\^$P ,F'Q5%CD(VOG#9X(3D$^._'!V#>E1^/77SR+V O+G MK_I\JNBHB, ML/QYHF=RRPLBB0K$MP2">>F]$'WDP^HFFKPZ0_S 4J+_X_T%YHY'+J!WHH(C M#,CY53A$UF>"-0V$;IC&SY[7PIPPV35"WT#(04-3QB[Z1A-U ;T!Z*8)+KW9 M!6*.-3U=X$S-"FYB(.Z0+"A "DY=0]Q%QE$-Q+HK8GB6KN/@C@9= MHO9+0;$C,X@,2 AFK,PJG"4L+(>P%0WB[9=@2?DQYRVF_OY11 MICY>'/+3Q, M%MP :,K26$U6TZ:K$4\O9M%VET:>(GH"39=SD<73=_+%?Z&60-@A S& ;O>A M4-2ET&)?KT^[562VF>6#(A?+:J$9>02%\M':=CEH\2/&3*PCM<0HN29/%%#( M?R7.H= SDE%](W 0O)"/+T$!XL?H*(_-%%"MY :4O4"#-14&:CLJ/%=E6=U# M5)C% /-C+/F&UWIGB_5,WC[(L-\L38A*2Z^6=A%IF- VA>@JIXV8SIT,S2\_ ML+ #YW8(V#J00\(KLQM=^.;\X)TED@ G# QQ1\P/Q9FG%9U%*E%U/K!"L_B3 MBPBNYTS/'G..Q::SN-/7$R0>.U/S=#1^>F\RL+^[R%GPO[O MOP-G2'RF%K(F>*P)X2RHG GA++"<">'LSJSYX-V]'YK+#V[R_6?T]+[9D?+& MU=];#3H_NSGG?;G]Z;TW?]C5/KA<_U+)_RMEPXH=O2D>(1Z&.^-S=L8?UM'X M]VZ&_3CE^6>+P<_!9>!*SN#DDP@BQMI[/A&6V E;HKW?20W"VMY_-^E" KQ+ MVV@"=I/A_M)G7V#ZB2/ZC]Q8NI5"=NN^8NZ8R6_H8YP>MJ5]NLCPZ7*O8_>K MCCZG;MY6_%Q;*0BR$@)"" C! (0/9:3< 1#VE4@KJBGQ+6WV6F2VD-WDVM&% MU80ZFHP^)Z.W.AY>;83?T7&D=JPHP^%^!)$THK/X>AQG9P/^#K9^D)$M:*7S M'DT5TG/;+T!D^2T0\FXFDXL 157KH?W?<[=_09@9Y]]NH.9JTZ[$4ZOLC!P* M)ZW/3O:59M_NIIC,/F>SM[JH_;$AIQ!90F3Y^4(1.#LR]L^?%5=Q[Y:G\ O[ MJL'*87CEH16,@U _Y0O=K> M_N^V-MYVPZ8[;;*+#%,3,G9*FBMZV$W(V87= M'R<1?4Y%;S4@"P,S(92$4!)4*+E;:.=M*,E-!MGLQB2C=/Y06@V;@P,;/]B= M;CX6T;EO[:E?NVKD9>ME=2'R_05N(]6!\NTF$&Y+2Y'84<&0$-1U_+%^SKNQ8]T-]8!''L0KBZQOOS-Z+L#3:M M*-9>1"-SQSQK" M5.[;FGK# $;]-Z4B$>37*XXSI3H-;ULM4X5)99: M+CZ1$NUY0\[OE&2%%HR-1I]89MQG]T_?544@C@*K^;#LZG?WVK=S[Y@GYIJZ M)G*L(H%L47@8^TPT7Z@7XM]P;P]P)4;^ R/PC]%__F/=%G;NI*/'X M^(KX) MAN6=M< );B(OT:ZVJL\A\3850Y3AMZ,ET\(S'HX_@.)N'%JC"()O(&;J!K&1 M3=V]B0S/UQ"!7A N6#\Y%Y]?N=2,GRVZU[WQE7$5O4NSO_?NR^PP?=^F9!4T M3'9G12!Y$]Q2>ZIIZ*!5X;HCWM=P*_J=6ABQ1IAFCN)TNVK$K&]RO5A=P=P]BBP,2 :HS\+ =]:[+^6=[V2+B#V[B]YOC MP::JB@EFG6S&-7*:HL29W M@,K^/F]!KW?P8=O]?.A<5+4('#H1/<^A ":W2NJRR$/!&A=\:[$%S MG2_/0*_/2L']]&SJ6;8P[8ZG\S'=6\7K":%5TJ<2VM16124PO/5K2_O"1G8K M9%P)W5M%,LZ%D]"/2$N?Y?AX:VM\26F. M'K<4>%,66O/7C[(1&JM(D&01O^Z5$A[3_G0173#,D5ZS=9W.79_#N1;Y:]4Y$H@ZX?W/0%[-C;W$PNOL@>1,]"6>#3D31,YD7N*QD#-! MY Q"LU3(F2!R)OJ22(2<"2)G,J&>"2AG0C0+*F="VRRHG EMLZ!R)D2SH'(F M1+.@"4H5R-=8],.3FJ_N;OHFK;ZP--K; MIR0/+HWF2\_XV5IIT<3/5LE*IE_2\3^K3-:-&I2_7#GK4?LKW$U?MYONXX3] MG<#[(P?H[Z3*CYR/WWP#_7K-QNQ+)OY[%;6EO(E>GU:C,Q23'XA)^K[H\NEB M4H*4OU \0O$(Q2, XI%ZL]](\,2#=E*!0Q\F]&%"\+PVP9S<^Q! 0RO]MHCD M\06,4#Y""+DM'XQ[%R>4D5!&0AD)BHS\;H9ZD16UT$8/O(W^XQXU;W+Y]08V ML_O Y)]T.I=7]=_&$/N=Y"3SAYWBUO%-Z%!20D3Y8? 4;L^'@A(*2@@ICY*4 MU&/KXG^ZI R@V,9G&/*!*VA\HS;.MT\SV0.WVD>4;X9TH) 0=@902 A;482$ ML*^2AX2P;VZ'A BW1J@U0JT1;HUP:X1;(]P:/V50!='%?,36^+,DXK<[-+SJ M-53L@I2W7$O;3%+29 MBR6?HZE;?6N#'ZT/*&Z\7;SO-\*-!]^Q_' 'V5!20PT72FHHJ:&DAK;89]EB M'&>N31D,+WQ?\)R0#(D-.0&]0NBS!VIN")ICA"V1/[Q8WK;$U$QDQ:O*UF3$ M+E,ET;*KXPE88M$8,L72M[K]AICQ"X&:/P$S'L*]$#-^&C,@(1TGLWR*[\9L M!^U.IT8;4HUL)2*3V#ZQXA> &$F$&(GG3.8MT/@3,FAN![H@P@6!+F^KH3"E MYNXG0 _,. LDH5X](0HS!4. >STQ*G#[]O$ ]YMH@@<&9,(-%5H,?[7%$&ZH M<$.%&RHTP0,3B 7;VP[$OF* <_1@5\_U=E5);)\*==K0*RJU1S2"4&PBD0C- M[T>DT05NSSXROI?*^NAH7C#4'Q?3/&& M]5BBZN.JDM7+M,FC^[\,8'"@,W-:[4YYG\!8: M8LP',>;\ODNTN0$CO=)D=S)3>H18/S-V^*T3O!XOY"O#)U0YP?G95D M;!'.N&),Z80Z)Z"A)1&//A,@>L^$",7L!-T@-($3Q!W0'">A+@6"7:NF8L!W M_OO.&R!3'R\.^6DY):W5XC@N2'6FDJ0N!#?Y <']X8&;9@I\Q5XX/EAS&Z^A M,59[!U"4>5/3T!YTY3MER7>3U;1I*<&PJTYS7R9;U9-.4G1;3QT63]_)%W\$ MFD#,EH%LHDY(A8@O.MC/\WS;>44LQHZUG)9#/'ME3:Y'-DYZ98 M_JP<6;_"@]!$$57EBP+M]D=/WT6%DTT>:M3;@HS_Y\C'C)5QKSHD(%2Q1^@N MQ5\(1$8\Q$IB1M)!Z.*!6*-W+'5"4- CK^401G-+5EE@\5,$ \F88[002U4& MA4#(N.8F" (>GU?7:#Y'[.VD_]&O9H$D>J-JR 3"U0/0> W)X'JC"4M!T<4= MO ?]+A![5B?8S493#[@M$IK59XM[P=18>,XT-L4"'YOV55?Z8]-3P\Q,=[V$ M(&T+4VTK-_I99OWSTM^"I>:]*ZW@A9Z-P+)%3BAU"V+>4CR;14-PIBS0C-&_ M;20[*N\W%[W[(!+)L\OR@1U(M6:A4%U)DW5DUT&R>E\2QKTDC$^U5J'8V=1) MAAR25(]4UG.!ZW5^$Q*.U%9JT# W*4F<*DN!V\;RJ0J&DO0-)?D:ML"F0-;5 MDMC@5_[L)M30AH!_ LX_0$[@(?1\UP7EFH%M3>4$@=>+FKH&S&_-WS9F;O*E MT$T56CFY5V*VZ<[A,! KR;Y$/7U75#\7=/1MK%Y_C$O/F!68U" 5?Q#57]LV ML$.Z B>SNB[.D>< 4Z)XL%? Q 4>4:U\Q69,:WYF35,P6O/7MDV#C!RUXJ[" MD>9!R^]3K))O9UYACV7*8 8MH, W@;:&K4PT=V)H/Z@FMG?>T!;(7E*Q>K)^ M?R'Z9X8CEP8]4%$-8B;(HK 3L#1X])C[2O1<1#^#X+"MX7P^8W68@Z5=A1TK MFYA4,"-A)R+3 "E;]I81AWPO;DG8VAII,P4-0P_4@;PP?+\4\(K0JY )LD92 M1\BB!*K.0"H7S]@CM\0>00I: IKGUA31#.$ZDBZ@SQ#5P%Y4>-W]"+XG*CO! MXB7Z%L@T$%5%;N+1V1'G$>ZF8)W#+$1G9'[.X#CKY3&F\IM&?W3S_D8E5Z[* M__#B[OO_1?\X3^5D@=7 85[:KW;]89B"'1<@R7]]C==[6<@ZEO#D&U@4B4:M M9>%EX'__]__R+N>=]KMCV*U?")$9V@Q2A 6C^QLK[]FC M;J\[G?4$1+ZY\8 X3G\@7V+9?Q&>GX%"/O*NV4/$0T0[C!"1A3E:O/4UYS/- MHHC]H:J+L-&^:8*,=MQ.@*=?/!?SRE W7\BH7P]/O2E]EY2Z10 DS*!+1,5& M(>S:SZ9%"6VUW^%67Q#TBUH\)/OSY;_A)/3_H%6- IL*.MO1%?4);?D^X, S:N9EN#D M$+HYTY$-88BL3(!O9"L7$6E&CM67H'IX 0N#X^/A"N][$9F5\%N.521LO5AX M;KE6+)B4PI% [Y:07IPC@EUJ161)J.BO2'-@U]X3$,':LJ [EIQ%/9MT:. %P9ZMOWI)!G_R M$P>4,@*+#6" MOFV"6I?1,F5DCY[M$7" -7@!\F$D6QW_SQ40.*Z=K>8^P^ \IQ/V-987*(7' MIF37#4GI!5'GD)6$IMU'[\K)*B<].8BD:JUF4A^Q@C0L#6;#TEB9LQ'D/PO( M:-R@YQJ:*=P=I_WAML? 4+/5IXF$=0(<_8>@\OD6T^SWB"Z=IRL#*E>G'PI+ M5S3RPL1"4-#^E)%1BAZ ;4S;.D:F)DMPZ%'(WM;.1C)2B)=F:"(O1-YYYX8]PL;1X;6.;X!# M])SUO#D[TVR_!F]!Y$O("*H$;2=R MX@X(D@N$"F\7F9O"G@F:!M&B=AE2F2 MX)%!!&N9@5>O+)X!5! M8(JV7Z ("Q4!." )FN;:=3J1/*!-O%&MP.Z2"KUCP?K50E4.>)P% B<=I N O#CR*<_?;&Q:.OTR9 MU3S+!W_+L%;J\37Q<$T%@\V.T%Q.>O[!" T> C%#*UJ T+$N);":; MBI-D#+P[UOE+GYMN9H569$6G*B2K"H=\K"RT9ZT.(E7B>N1)7$_HQ*FYHR.+ MA&1.EK'>G(61T?CUT!093R[G\[3&I&I\-+>AE4%A0R'3Q??Z/%D:+XYTY4C6 M$NHIV^F52X?H'HWTO;Z:J=26U(;=T=OF('9,CCM:-0O/3%^/K/>8TS9Y& Y( M\90^S@N%PRBS@V=&R>NA$GVD56YQY8@9 M,O-E-],O4_'@0LH5CD]G.3N5C M:;1;MDXPTD^IA2IIBV*^M:9[; IY[R,J&6G#Z_V4ZJ6Y+-7(-(]T+#XKC\8< MLXBI"QCJHU2T/LZ/^GN&)8>[8Z$M+?.%U@:6[Z=4WJP?"L*A7: C)\Z4:'+( M=BO4-.FGU%07QO,Q$ZM*J4F[D(P(U?VVW9FF;HS4F$J\K:44)M66,M.NP"PJ M*2A"YZ.I-.+U'26S*ET;+":%V5HL;%(4&NFC:66LJ0R)7!9&, _%V.PXCU57 M\'8_39.YC)E=K5)I\E@+JL=PV?M06/VV+E6SJW;2TQ%FF*/3IW$P2I=$Z M4C6:@UYC\>EGZM?FYJ\1J%O=[H1X+5V0:MK1[ A&19WU[D2@P9:*%\>YC<24 M!HRHU0<3-',2_(#1^;WL^$_)G5=%1'0T&T7N:(X))V)$^I4Y"IILJ;D M$WFJM.IM5C^?U? F20NF-)VTAKHJQ2I+A1J-I&2^205"YEXC#]6.E5@SI=>E MXUI7)_7F;%\/,-03P 6UQK *BN.@OK*;J H$HB/S^6VC-&N>S7!;Q<,-CH+X\ M)+X-ZA#-$7'(RT%R]+X;0&[[=@%09)YHDQL!$ET3QHK4(+VCVHM"]'!6_6RK M,+\&$Q4>O5:S UUNY,\)\>GHAP6F(P[AHQ$B#O7;5)VKX'D#J6Z @=\" MW.VS6GP1&;60K]ALE"M;KL ?[A6-__(T7IR4[)Y_6SGM.&2\T85OS@_>64)I M5_L]<.B*F:@X\[2.IEG34)T/K'-I_,G%\;4G+=X>XS^(-C1G8L["+"J\K]I! M//&2BK]U#<-SDNQY/@1+YTBZ':HYOT?@!L WZ[0?TH5^>,AN9T+@%SM#V1DR MI4U#>/2)^\]E@YS3)G[YJDCJSQ9GT2SK<,X'D3+AG@LL9\LU>(2%G M'L69Y$OZS8N8(6="- LY<\V99+AG LF9]$LFY$P@.1.B67 Y$]IFP>0,LLW2 M(6>"R)D0S8++F1#-@LF9$,V"RID0S8++F=#3#"9G0D\SJ)P)T2RXG EMLV!R M)OF2"<\T[\F9][>A>(U%/\S5^.KB$6_2*O,!6MT5[1\H+T #7^KYIQ+E7?D( M#Z9 * 6_+@6<*L.'_^\I\_23!(JE7N+7!5F_M,U2YF>PY?4;'$_?(:'R__Q7 M-$7^$X\^6S] 'J1[O2(4J+L+5/H/DR@K(?>'0O7!EE*/4MPA0 =%3?]L)F'P MM@AM5U7@0YC]$,S&?A9F4R_I[.\E(KCY0"@>7R,>V9?$FQ&5X(F'ITU%*"1? MA2&9WTM&FH(1RD8H&Z%Z>;1TA.HE%)+W0,A]6SG=7[^$'GT ]\5-MK^?R5;T MQO_O)\&"Y;O_2>$O1A?FIDS4Q;GPNT#G5XG(9_GQ?Y*X4%;)RU!4[F-T_6&B M FT?(2(DLH*:&DA#HHU$&_A[Q8,8 _3%[\T/)S<8)SRZ1O M_\5Q@C"?/SAT@!MNX,)@^J=M@\ M\NN[>]LA@0 0XD>"_WJ1N3?:5+^G/MQ% MZVHL9DV0,KMX8ZQ(1I18[M F6Y5D=-S=I$PCL?=W&^1-[95N@Z]/PXI>0/#" M;4@]..G-)GZ6_>@Z,MU!#>O8T_=HDC@*K*;[^[>%^^'S(H20[A\X M0GQ&?WNK:DX0EA;(CO;W@XJ?;&O_QISP@>*-=O;;5DEF&VR^3;-*166/\5-! MQ!7XDT_?$\^)K+\!1H@=GXD=R8!LL$_'#NOF8!"6%F+'+V*'Y[39ZU_>0)/Y M/+,8)C):2QK.-*'<;L5UO@)HDGGZ'GN.DV2()J$E\I.62#H82PO1Y!?1I"D8 M-Y!#G=.9>+%CEFBA4:6*2GL>R7"X:4\4H",:&B(A=(30\=F]*3X%.NJ;6BZZ M;H\K4JU6.6W8P: \O>KE<6=3%8'3LR2)94_"LE1QQ0[N(U7(O1B0B\F M]&)"\/B(%[-NS^5NSFCEZ9XQRZ3%;EQ9L]@626-;)!FZ,:$M\I.V2"9X9R&Z.WBQQ=&&E#IA6I-WMJLCM8YJ!+:(S$$9#$6Y;([YB?[3:2MVK>J(J^ M%#>?=][ZMV'?@ZJ4[(U--[11O&]4V_1ZEXT4Q^9TU#?N=ZBJ M-_NQPRD_;M F1Y]&_"R;B"^AA2\5OB/2ZL))%7LP]>@4>71 MAL/CH.;KXAE56E7R@U0_0F^;L^-=X?#-$;@_FQ(!AV)(7AH@?*S%,:/22[Y=YT=#3G#;"!\(%P-!$"3P@\ M(?#\IG';MX!GSFTFBQ2GK,AM25MP[:BVBI2^UOWJMP1V6>YJ3&0Q2G=*U*(N M+,#D@>/DT/\*_:_0_PJAYZO\K^ZN)ZW3\FHCM;+E(T PX8/LI.O94# M\R=<('8DB(C&\!O[JH&('N;Y_(D7B1^N>$*)>#OSZU+]Q)'ZX543X5= M/)= M[]H&;^V/UKWGX&>F/EX<\M-R2EJKQ7%3F#5DPC^2ZH/!RH:0J.:I//B6@R3!5]1.9Y\#;-UZ6F!V_M?R-@O-_#3YK[C5)IU34Z M%2>I<;:[KM5['00AF:?O\6?RGF>L(83\[3;'[:MQP5O[WP@AK_CEAGW>IT3YKE@R(7RVJA M&?E2'R5>JAV'PHE+D"E3-N1]MMUK+#!B)$(G)7120B?EKT6,]SLIN[S]X$!EBR%]N=;QR:39X:_\;,>2VEY(O]Y5\ MLK3LD[5A65^IZ?B);N\17E@785/D#R_"_H_!HG=\]]VRNS_K5J9NB//C&WO> M\[#-^QL172WD]4N5!5/#.#R-36UV]E6/!ZJU"L7.IDXRY)"D>J2RG@M+M^# K',]<&TAP*OE_>^7@VGRJKVS0'' M7R#%T_=FJT\3*0+6'XW^0Q0K3:J9KS1+!-7M4LT2W:";_1[AEA5_Q)Z]HA/: M4PC_"6JCB3*!ME'TF3"6 I%7UXAU1P)M';1TGA -G:#LGQ$$$UU!-\ \0C]L M9*2:T)\,(J\)O&@0U$(3K _VHK'$C\NQBD3\&WX"TL3(?ZZ'XH^C__R'0.J. M6Q)H =:[X"O"82-:U"9X]$Y"G5M3O'Z;H1(-]DC$T1+00A)XGFB,R=G/07I1 M4_>P6O0TX85H*6B\AMZ6PE^(7ZX&E2OHN?"''F(Z>B*F GZ?=SW7?W37 M8W_Y>K(O1/_6(][[.=YR_/A.(28B12$B>X;F:17H\5L2SU0T8PL$2 M7=*C=YBPCA8R+Q20$0(I+5;!@[I SG\[2V@5N^ZT-[*IOU<7;]#SIYFC.-VN M&O$<6>*I6D&<=;HG;O%T&[_C6.%9^.W^[";_X&4760Z#RD5>4%?8J?(.S?QR MC)T9Y(P:(!*!CH3577S=)H5+"9<0,+*GSC7W+Q4D?(?>GMW 7^S'E_>K1FUJ MSE5IRZ\J=:I7D,C$A>GP$QM-8/F6XIU_U+4A(C%+ M135939NN2G%F02\W&V:=R\V$K=J)EH[4TW?D&/CLAW_AC8#D!9EZ!#"9T$UD M*>JZJN&-0,C(;C'9A6#)Y+6D/A.L[L# ,Y(S3C9Y!$\@6G-5EJT--1=8 Y%6 M1X/7*OI=17_6]&\$2\CHBS""4]=KT62@.\""T%84<\"L!Q)4X_+8_*;+B?'R-[AB[5AK7< MI*(OJ[W%A:V9_(#$U!',.W-VW\0>Q+6YSCG(EF>1GX ^=Z4FY1&:Y*J55LO1 MY8D9SH0JO1)3T4IS__0]2;[XL]8(I(MDX(S%<6 ABQ#'7B\AJ\B^ +F"_W%( M&_(PUA8#&\19D X=%HA'(4<#GLS*7EE@<:.->XC$G<&&BJ>CT>.ZG6;,8E\Y M-,HYAJ2H#S,7R>--QN:QM;E )*HH'((%7:!<^KV/V[W9/":RZ?V)CB0Z36W1 M5OL*<#OZ%K>?$3;,5@*'E2F'_%%65("JUJMU&R%L#;E&RA:M5"5,7;A2L*QE M$>*GJ A4+4 @. M;1!?W=$+4=613$[/CV4X @?%H8FQ,I?_1\6O0=.!/(&]H M4Q_1TTU-QR;!S-01'74=X(H7YNAGWAGM5[YG8F)=^D/8*- I:%>P,88<7B*:&IL.:LF'M!(<(%U2^LKR#*\:0 AW0^D4_'SKJRFEZ 8G)1!5$W9-=/B>,U55C&!D,Z' MEZ88+R*JJ :Q9'= HN-9T!!Y34,': "IPU;Z*QPOJWO$$.WY+&9+UI4^V=(( MP I71/% [);+]YQ/\!Z[0;K&Q!E:3('.VQDXB?)TS2CQ%=2;&YN$YO.,KG= M_(+:N=26K3,MK"9)-\&G?MJ61X>UL2*W\\UQ1E53167>>?J>??%?4'4U#7LE M&6!M(#S:;%3-<(Q^^,X.;5T!,XMJYVVF"X@L!K8SG,);0%IXA0U:',B2!F;5 M!3LM!I^9ZI<$F-65=!)[)#KW8;\_?_ZC[!\V)F)%'S6KTGIX.%E@ M-8B-+J_"&'& %SLJ3)+_>D15L%C"DQ]OH5TT9BT++P/_^[__EW_:H.Z=*:'M%G4LIW]PX;QRGZY,OL>R_ M",_/0"$?>=?L(>(AHAT>CLC"'"W>^IKSF691Q/Y0U;%"_6;5N]L)\/2+YV)> M&>KF"QGUZX<3;TK?):5N$0 )LVTY6(KXS1"C'3I\6"37:V^ ;MS( K^P0Q%K MN*?C,598'.(&4T/'/C7^<.[&%1 &()\2:UX;?D'CNH8<6J@.]HJH8[6N"5M3 MA! %MH\X](M%2F11(=(+:*JV;\FQ^A(^$GEL#*'1.EJ-.!FA%@G';WW6F RXNPGZO'0(Z!.DG'%IQ'FLO&GLUKO5GV/0 M:,1%\2*"8L7-T)\$%OE&]M^V2*^@;0Q__I#W;9G3[S0[\3I@S6>#]2.6Z/.5 M"XBIXP3D=W,NIA-M@]5F1,H9;QW5*OD<-NIUL]'@[5HKY'WK'OF;GVK#LT MYM*6WD;)S$DLY-E$%VH^^T:NY/E,24=*(EW:FKD65Y*'? ,NY/I&SJ7A\%2- M#5DZU3SV(^/5^!2MP)FY;^3Z>%"RR7)2)8^+_#8R'U>67+V#;&3?R%F^7Q[6 MH\D$+62WLMF0*I%,C9IF_"./G4)M/BRFCDQ^J!Y5:EQ-]%AJFO6/7)+93(9A MQ":]+L>GU7&KWM7EQ31*^H>6![6VH(VX!ET[Y1.IG#925N7.-'JF_9U/M?)N M2$5_ZW!KNM/7YJ;6C=(1[K@:#DOKUE"_<;AU>UQ0#K<>=[23=H]V\JU&H]+' MYSGW/LX)V!E7':)1>I#.L/HW@D4RGB56>^ZI":$B[,P"GP%F>N+)5$0..QP(2T"N@1TBV,3@(K<8&UD MZN?8UCF6@W]%4\%.&"@96_&"783VE.5.(CKMT(1TKR/;0YZMK7YTP?,:>S40 MD)NAS]&T>-X*?\TTE07_F'6TE&YI--V<.<]5-6Q*7;S\_&CPOV41>8"7 2DP M$!45O1$I=3!^+#-(L&?R0C15Q3VH\U'=-6.\YIOE@UOA8C0 O1MLOV>(=QG$ M$F0/.3HP43CA$C &V9?#7P@&QP <\EMON53LR-149TB:\)DELELVB%0;#68& M44K+(!$5!)JP"HN;:Q9'W?"R.%4'^A?1ZR\E1\%O!(? ^H-E-\&6PK^!(8$H M@=;UC$ATL ]/=_8!#\S"ME>1F$*XG'/FAXT=]]N$XU3 G]09B(85R4!6$=H; M:_PM[)>S,A >DT@/3,BO=2D !/8<(^H\ A%=VY7 !J"NJV 0XH@<#$0V&/;2 M1'LG:X!)_#FP.T,B .S1EX* (S7PH4MY1%K[8!H?&\]8V(RJO?N0*0I_V;&R MB05U;N*3B[6HP(&*_1"7/XCL,_"">,&R1>UC:8$[SQ6,<6QVXN-8L!\Y9!WB M S;;S^$%&(,V"K .K6"-A,HU)F_"US-ZI<):CA1@B7YSK @G!# $[N8U.$%6L/^GK[ELP9@O?XN,-F:X?TB&%*E*H,J[5H4\VB)1O.6-]:SQMK MOQ040L3..YQ+J2#.1Q=[+YPI4981[02-$]'W=!,AFD73%Z)["P'>=S"P1U[D MW6/O[[C,])$@ZB63\.);B M6TB%RL? ZD7 5@4VA&T*7:@\X"^:LL;BK0/O!8T&=LT;"@F!]BLOT=UC5F30 M"I;=HHL' D=4=,+*OKK2Y&)F]B)#)HC-&8)+MTB]SMXHTUF:)Z/W^: M<8V6F!2WCS#&Z_%!+PM[IA?E!DECPJ6+4;0!R3=/L.ZP 7]2B=R=0(G)1IK3 MZ4F1%)J&5F]$5MHF3@&!_"G,M_>A968C$3Q^C6C%O)2+30?BCJX/CH+*1 ;; M%%FJ<_7*:O\%E!MN6HE"79E4Z5ZG/QFL:CMY$,>B]<78?BU:5P0Z-S2P@N\U_A]C9,0:2^,DWH;*J5&+7W=\;*A]SHZ%]D'"/#%YG#W%+@3?D= 1QGQ;A3NE>*C*-TMZ/10N=.!SN((PZ#R1?\P3ONC]WTK=Z9 MM8$OR+D)-M9E2 X)#KO1A6_.#]Y9IM#+[/= 5@=FE>+,T\I]84U#=3ZP$E_P M)Q?Y,9[[E/:87,0Y MVC@.V9S?(W"=])N53P3M 7^8QN.Y,N8.96=H:YB&\.B.M.(TT'XS\?T^)I_=H&KSR!]8WSWPH M]?:'"1%/W\?0G):@K;QO^USA__Q7-$7^@^PVZP%GRG5;JCEP13GP5=A_ M:P(<9R->_N<3*D_$@EFAVN*A_]]/J3,2R!5_1AD1"X.#L+1'5PFY6RW#-UTU MQ[OO.CNT-2_BY&# JQL51+B>29Y6\K9"MY*5@QQ9EXM'J8-OY*QRN\XT8>%?-/M6\][?TWA+A\9;:+R%QMOO M@5EP&'RKE0_?+*Z%8>L@E8Q6K=AI;'OK]7Z:!-2*I=^J;_O'V&R9T&8+;;;0 M9ONS\:^HFK?B;84$Q^S4=J?-I-1,I2@-I'*^!15[ ?YBT3_+9.LO!4W E45" MP^W7X"UHC8&#@75!H\H?!WRXGN!;H-=7EI)* M:LWFI%91F597Y(27RYUI!C Q\9Q)?@XJOBH; ; /@7APN=TTK,KHN*)3:"J& MIF)H*OZ9@,@HO*AS0,-J.]JG2')%N*!V%A,ICX]V25 XA[1!2XB'B*6K'\KX_]-=\5Z/*F;6HN,5(KK=;W&Q',3 MZF;B^\_.T?H5EZM3@*?R/]Y$=>9TK5]O]!N& M45",_30:M5)WDO&W6D7_@>;M.]"^TRE&-6:1PNX<2WT@%Q)_Q197?MW/O [NXOF.J4'?75[GC1N$-J^:OA?]0 M:Q=M378A>$N50JT3W]^=$)=5,Q47 WFC>L=[9=,CC: AO_&F!K>2=4%Y6QR' M]O0H:W;6O3#GCU#-,^HI_Z*DYQU3V]0UJ33NKS()8W<:B(NG[\FX7<[%5\D3 M*/#9C3T_OEU_?K=>D:=@\PZ:9;8%C?-NWHN6F>)RKATS'+EAQ.JA(31X*=DO M4FCKWJ@;^:_K@C=O">#-AA)?(H,_KLKY)3*8BQG)4R]MFN16U;OU?;FRZ>:@ MKV3FZV7P(X5*OUX&A^..N=\*X[BT';#9R7:T84:=/6VG(+QPX);0FP=71++&VX71<6LI8XQ MK?96C+HKTZUN?%,[-L3E9/^#6FVW"O/^<2W@XF$+..NY80LXY>U&/ ]M ?=Z M4Q6WRZ_N:0P"N*9RG+D1W7YD=B,Q^,#JRJDO5?A_8E+/2E1F]"3X3H#93CDV5<]@U_"9HJX*O(C@+# MNDZWJ_WQJF U9' :^:*GG8O](X,#:4B[H['5$^>(6Y^!(O7WA'NE#+[J%KY_ M(;I KNO:WJ+E:O*O4>I"%?\-I6*+*^P485?[D_#^@ .U/TTE,#S.4U"M62#:J3?3URN :#:2?4^\N MG!_\,K3O39'^*0+2TTF?E%/TEC:9YJ@F[R0D+VNL-U0-J_MV53F)NUB@W M&KQ,EN;2LC.JU?,($I _>,^2M#<[BBBW&@EA[6QU6;JA9S3HD&"?#T4 M@GVE_*M^QV*XP6O]UO;T+,NIT(,52%PR68U%TAFLIG 5JX:O=0J$.&AJ.D[$ MFIDZ>JQN31VDSM'9N,@V[_1[\S4:?[;[":$)0(-;8L/B$RG.GL'")3+Q;VA\"YW@ MT-]FT*Y'M)I::8(Z_P_X^-CXOWB69VIH;UA=SG!7*TX6K7:Q"EK?DI7GGEYT M=G/\;[9+U59/D;4/>[9BNU&SC#AXH038,=M MV#1$&:L=GR;,9:MCB5UP^=Q,5S?07K/L3,Z*B]G;3G?[5J&O(5L-*(H[T=[J MC&5_%\RHN>II"6^W\+5;Q:-%#:&ID6Y""T 1=R96+'C$"#Y330,,5'&-Z>1R M@@>. :=A)K;8$'O5E'F0%7;'BI9)BIO)J8I@0)B09]?(@<,6J64TX]9RV$!5 M=4 @]P&>=5KMQ] [9O# JY:U>+S5)L9JLF0]"'$*_15_X-B8Z&MH:D@UZ#>#\E@VP-RVGH86<%_,_ A( M?*Q+\)DK>C U]5I;=#LR>K65WO&(W MB,8'_'HTV0#TO\J\TX1P8\#:$5F/'5%-YO:+9+%'T:EGZT>&'6>YBMA?[*,5'&[SEV1PJ'-M-'U, M_!$,XAZ36%CQ!L#Z%-L!KA1;H*:)NJ1[&X?O<4MX4)2>8+/'$G-@A0>=(>ZP MI?:,VW$# /3XLL71;%5,EJG1]NY*N49MCZL M"-/$"29 (R^KP:S;P_[949EG1MP;$^QP\#1G&U 4ATAN1;RH@ZA/D3A/2\)Z MS;95A%B]HXX4N-[ /7+=[[JFHD>Z<\3BX"[:-WV<&=HIIQG:' M5G**?<$;N\_Q<;"YN($86+M,$<4O8'R]!2HD%:JB1,U<)1HN5CK?.0[$ACC[AXC,Q!G3K']1<+ MPJ=,3AMA4-(@*N"V>D4'=Z=$+JLAV=]H1_'G-N>FXC;9=&79 MQ-NS_8*G>7WGXGUMF'0W$ ?+/BM-Y\&VOVLAC@TV+ ]P:RW;#D(05EJ$^U)/ M7W6THZRV[B98(##3&T* PP/G VSOF=\7M():L'*#Q0$E2N'S^-U(1W"(X?[F M3V:RT1BF]2S/1&*'<4&;+X?%X[V:/P5=US=;?9K($!B!HO\0=;I$U8E\J]FO M-$MT,U^A>T&R 7X4T_0'+9?L#F3?L/&_WO-<*2EEA=WM3H4V) MI\V><9?E$39!\^+Y'.N"-X'A1A3Q9F#JJT+W-[7ZAUN[7&7%W!E2(*5-QNY/ M:P[R)."(EJIT+1\#DH#TWA*Q+0=RX93-\(--59X/#ZPI-*52I7!,)5@AU=[8 MF7L('P6>,MX89^=#_,70E'6AJ==OY6N1'-6C"PB@&FVZV:/ZE5:3"!) M12T MQ12!@) 1DC;R^::9IQM(1):(?' @@.;.X&WK '>3L2P;3MX!M@:7OB MW_"A[:7BO\&GCH_J6AH0(5(YUGG0.^,B.HBS/J7%T6:RG"W6I)@Z]JN'3E?, MTYU;H9'4%&TGF(4;M8#9--$^,^(Y/"F+R=CY=(^]L%K MXO]"N))">D.,[Y,4) B7'(8/>"LRAE#_COPF+T-A/^+WPM K7$TLEDAS4*9U MN;',*9\M$(([AZ%A5]D=+DL MG*F(V, D7D1N@Z%JEDF^9B7!>G#$,BU89$OS^JWGXM-6.)I#0O#L>0SL=@FY M%0)R@-2C(-@NP/E[FK"16AO7BCYY_9QHFDL56BK"C/""[ G M?7T.Z3X/C!I\RJ8JENT1S6)QCZ*IJ@L!-L3SU6(=##L_ XPCV#G(K,&N./)8 M!,T^NK,=,'L=Y^7I+_92'GEM!W?L%;#'KU\@NKLL7413836+;JKN=P]=*KP0 ME$5K$!XG<0])Z18YN2(^:+, Q](?5@0!F23@*5_] 0@,9:N0W6189[BFXOD= MC[8D"4(-Z-F<%673<= !-@'VNS'K\2)XE3/!_+$K!Q![)"*&H)QS'9'_:>P% M0;FPSEU=!<\1!+0^6;ZIJF9^EL5F#3 M4Y(4R&DB'>>F+!OCIDGD$IJ.M#)<+=TKE7LE&)F]'IE2MUTC961,*9+(%HIT M*9]'C$0>E>^9Z6-VQ$?T_I%X!G^E&,D\S!0#IUVP4RDZ:F"?_;25DYII5>,RL=^XGLH;%= MYEIQ&.E[NW",S$K+@RPRL5E![L7B=7)XA'XFOK?G)WIR/J]O1HS8'D[B^J04 MF4O00R!V/;*ZTR)S\\A6);$WW%"YQ.FD"10:Z9MG>=GJ*9OGDIV.]IF2NJ!;(TDJIPJ"^*1 MIY#E1UZ/I"OY8;HR.0H26U,$5E]NU!2_0"/]\TR05$;+;"-,21U1M36]/]0% M&.E[NUGME99ZN9 A2YVM+G%3)E:?+Y#O[GO[M-$;5K;RH$Z*I>]-# M!XWTO]V8CD5V2FT8MK-:2,WZ4&UFH6:E[YG+X:2@EPJ)(RERK+K-K=L:.Z'0 M2-\S=VTALSHQJ[VT':[:I2W-+V,Q:IKU/[,TS:WCVV5Y1XN:1G']#J5&.ATT MTO?,8RK:SF[7ZU(-UTOR/73<;S:H0IZ=,&RAW,P89"*54_8P MU/?4;%YNU'N9>)M9#R:CY([KI)(F!4-]Q,^NU4FSJ"&ZUYAYC)F.-^4\8F@T MZI\ -U&SQBY?6S+#1*:4KQU+O,YU8*AO A6Q,"MV)SQ-#\NEC9)J5HNG$WZJ M;P('59\Q[('+T[%R-MF>=UK)A(3F&O=/0.#9Q5*@N@E&:!][NV.6[L=R"QCJ MFT"\V-/5IE%9T;W401>4<5=9C?%0WP3ZK&[T,Y5%A-Y6UZ=5O*DK8@LM*^&? M0*156U"U2&8II5ITP8Q*E7)QB8?Z)L!EMGQG9(P%NB;FNSJ_&[>R8SST<@+( MF4ZGV30WFZ8R'*(D/T0*-R@0VE_G,MRG)/$TF#3[$C-1FP,..T;R;/M=:1H<@HMU-+RO-<:#O3* M_A9.T^SN6"E5TG$RM4PRB=1N=ZH@0;Q!A)UI+HSM;):@2UV-V\U/VUBGM;B% M?_F^$>WSND:26S,_X/;;ZB8_N8E_U=J@O5J;JDF6MKER ?D'\^G^)E:-1X=R M+;I8MNCUAM9'U7IY-FWL;V%56]U/!L=N(<)L]X.*P9?KR7R7NH5 )YXS4HW( M>DGV3'/'I2BN6<'UP7W/;(F1W$2C?%J;T>IW7&5%) M=V:'M6+,"S<1B%Y/$]O:1$B1>6.5Z),]>2HQ-Q&(-M7=8;9:M>A\8A#?,"MY MLEI1MQ#(Z+3S1Z.06]*Q;C^2S*4&BC2A;B)0CRV;9BDECB6QD>"3LVJLFQG> M1J!E9FK,"DC>I-I,[(G9>GVG)W#9"-]3BYU&GM5.;;2HT<;,'MKE:;S0@:'. M4U^Y3/9V\/0#H=98,*Z>80?6.@-P;E'!&2Z<]6WP72GPNE@#Y^P;D(K RH[G MC9XI"4[9S?/@]X2J[$,%.$. \0LXV'NQ/2['(\-SLO*Q%)60566!'3-D+O]\ M0-X))F'_MG_%Q9-H67.XRJCRA:#P6/C4'MC9YN,KZ9#0ZW45#L?*0V 8TPX2.,]":#@Y-,Z'NM6L)7M M8H R$OC-D*+DJQF /'(G5^3YVDW6!-=5Q@?I[\B_H&+E M9B=%LGN)9?NS;&O3R162^T?D7ZC7&2018RE:$3,<9_"NE=C!L31D62K6'VVY MGHL:V@CO6/:PM2T6)J-V6:IEYDOEI/?W1?,AF3/XGL]UIHFBB'#.9UTIL-?& MJ1HDK:IVWBF.NL >#702N7,$ZJWC\>GQZ!]!B/,I;<='/2AB8X,V&A3FC:XH M,H)R,J+[S+&<;CP\/FWF)\?NJ-=((O,ZG:$7F03;6RZ>OL>>X['DF:_=[70M>>>.D_UOFUG>-A!QCUOXAWY]/6D M!"!>ET"%WF1QKZ(L$M-<4R7_/WMOVJ2JLBV*?C\1YS\0\YYUWUH1I9O&=JYS M9P0J]GU3-E\(A%01!*41]=>_S 0M+:V^5+38$7NN*BN%S-%W.<9,E^P>39.Z M7D57!!.Q!_I$)ZV7$/Q4@( P[%4LO9Q)\(_,N$Y*V:5WSY#8Y8W/7$K0$B= MLE7@4<@1B>T;-ZQ;_+]N(YP>5Q,T:ZDRO6$661(4I71IV-UTC)ISJ?J #^D$ MPK1G,U1=#4GV0(5[]QO6I\70KK;[]8O^#X2 C$_O'MN!ACSJ++5G,KLE<0^X M/L]M4(_JZ("J.\3?'H?AO(MNFU"PF?_\QO2!V];MPO!NET)(E*HP-\'O[0_[ MT(M!$'B 0[%?3%':MGN@&R$7;$O??N"&Q_$G!U'TO4:'WIJG>'@\&4ZZ@7G+ MV&YMBRN7P=[7;#42#\=?[9V]%]+>>SXJE1Q!L&UCXMO?0ZC1XV\W[8"LZ3>C M_5Y*!K]XNU080GZU+7#MT/_GZI2>\C=?[I9*1@/,^!$S\?"K0YH#Q 0L$V#F M>&P5'<^B) >2/T<.DZ9I]"Z0 MQ7G%"WD/]!$8;0%K!$9;H&ROJFS?R)L$M/.^)$8 IX#'[LB@]0:O!?9L8,^^ MFSP"6T2 @T<6&9[Y($ZP1ON$+Z ,@+;[!2)9 79 M(!Y1NY3 -O,]1Y5W_]2I6J?F*P'?+B>WU]%LB M?;=AP:T(QF_"_7=92?=$"'746XJH X/ )/'#*.)+UM ]D0&:<^["YV_<@NJ? M'T8(WV/\W!-%O" 2/F<;/36P_OU_1!& T>C*YE+M:9[K Y$%0P-/@_0ZC'P; MW?ONV-]L$/G@>'LDCOND[+>E80Z:K)^MG]6'AB,SEVA+Y744VB-RMU'5KA\5 M\VO7&YNIBO!HA$CD=BW"]W?*KY^S>4^/D. M$/_S?65Y?CC;M\F(C(P&SN(ITIZ4*)32$9U/KM,=,,E0?&4SDFR!_:J4H*\C M)+8Y;B^RN@VL8A?A>2L[U."\JB5K&WF<4EKJ<#F/E=KE0ALU=X_^^A-APHG( M#Q(=W^Y;^." [V>;#[31HU$;O2=>,%IDWLZVN3R7Z_9R^=2":K9W)+6Q(UP4\8QM/_=QKX/FR M+,$U(*@$!"4<<+[AA#9-S%AYW7U4&AP8Q&OK[@;8/(<&%5 DM,3),'7<^O>& M,Q:[ 5@4C=^(082JZ_P?]/-NB]DB^."=PL>-, \ M<7WJ&%8MNEZ3]&-[D1,$9UU>H]E&R!L_HRO^T]CE2E?KSN5DWR[C?\XR^#+K M?ZN#;7Z(]3_H9'>800IPHS;=R=7E?#$^C:37A@,/"YUL)AF.Q .A<#M%3A]F MIJO X8=B_XT.=?=YZK>ZO]T6R=]#D:06[YV?[TDQV9G_"*4@H3ST8JTQ G2&IY8>7YP6*, M9B-"KRAR/##GGX!3@@QED*&\6W]J*RH^ZU+I%N70"W(V[

*Q.):SD,SR)Q M ETJF@J3/REO>34ORP^0\*?CY0?(7)M&_)G=NY9[Y@= ^,IC\Y%[EM6-$9"# MU-7MWJWYH8[9%_-9'MW;QI,9=L)S*T6T2&A3IDN=%F]7#2!.M&(33:!'^:PS M.FX_C8>"?%;@?UW,_SK!^A_TP&+31S(52G,)#BS8=G1.=V7:<:!80$DM)IQX MK=0ED Q!4BO ?I#4"I):-Y34>G[C#@WT=DOF&>K!_>&^+][Y)\5UZ&DQT-.2 M=!L-.?>CJW6I*WQ/ME:BW!^OTGP^ILST;)\!2KE3B/K["E^18:7&3$NWN=) M5\>Y',VQ;9:G2.\.7Q#0#C)D08;L.^XB?$1,W,8=OMJ4W,3L@1WB<_KU%E^45)6$-6^-R!"U((5-HO.H6M@6 M]Z[QT8E[NL;W5)\J0!?R_'[]G=@')U*>@2/N;T=\C\Q?=,2GY%C.1CH+IT/3 M-%MN5T*14A0:$Y3KB-/Q6)#7"#*>0<;3]_[T'K-_T)]N4J-,WU!,AZ.-TFJ9 M6^45L== (@#YT]$P&:0V[SFU>2\N]U8@&\,C%*S,Q([:2NKECNE M))TI8A9 +G4$NGQG'PA7\D#]!86 'Z[H4?D+"@$I^,2UN#H0KN27G 4(/Z>,E Y2]$$9 MZ56S5S0?*XB]-3F.,$JN4*UW%YM25PM=[[;>>\I(]4ZN:^?KQK@3ZI7$K)WI M6E0'.NB,5T;*G#%T'3!:4$9Z6T+B.T)^[Q$3MU%&VI;6A3['FG3'7C9'_4ZL M(75! \D.MXR4?*WJY=YD1U!&^I%9$$_,L*G8"7[9B@!ED>&-A5II)SLS]B;* M2.O9F=I(RLVU4IH,V%%\.,NVTBRB?[>,-)X,RDB#,M*@C-1OFM.O9:0@G4K& MZPM3YH0^%TN'Z&ROU\3R9#L-(OGSRDB_SZ^_$_L@*".].4?\/66DUGB3'6>* M,YT,I>7R<",TTU,>&M,1UQ&GDG100W9/&<"@C-1G5L'URTCKXB(TCC=B9*?; M*:^9%=6D1C:+1(#K3R=>JY6Y:1'PW=YJ)6_UCHY7^.Q,?WD,=,UK;408;Q!^](TI^DJW?R_K=?'7BF M \0)D&P5U$9575L"$^(+(YV%L%W"O;41,-OPE2D5XMC#TY"/]=>=N,.8%+F> MEU-%M='7NEE(N0!B= X?#RD#7(0EI[9IR:/U%@T)CR$3.Z9L3P A3A!)FX2L M$1;\5<,>%Z&/" C9D'MH0G=U&F'IQ-PVX#=,0+ALBA:*^FRF(\Q"("#NPL\Q MY14!/[4F)@$T"3X#Q2L(AGH@$ (>".BUXG6.QPB$X'(",8(<0"P1"Q!SN!'\ M&OQ4((@3;WOPZ_##.7P_0!,QB2%0=8?XV]L2/HENF_ 5YC^_,:%@LM_"VXL& MB+JJ"G,3_-[^L _:&(2/!]69L IATM*V!!U2P>+P.'SF"4-OR MU_;W$%(JOX<&$)20 P'U[UPW983]WP90(4LMP;-G>D$5_.+M4F%HZJIM@:V2 M)$0N(#4/!W("GQS@#I\;_?<+JW+(?S M>W4B\GF,'X;S*T,%NHCH0QP_^F2@D;P\3[P%GN'!6UU/'!Y$E> ?MP&J__W/ M\/-5$X$X]&%<_0HP"(2FCR@C$)IG$YI>-#^0F;?)&;Z"P@]4!DP="P!6--> 56 M]WMU]ILS.7XXWP?*X?<5Q?[)Y@; V5M4:7NV&V/4KGYR[)3+?+/(.Z2=7VEJ M-J]GJJ$O#A[X0K']KCS3O2]6&[GB_\2]L:4CK"3JL2F2Z^%DG# ;9#\6:O Q M?&TL>:I^]GOM##^0VYE+[M]11^([* 37T+^]*O\CPN+#%\Z^0U9\I@1_4D\5 M^M5VMJZ #AUK+.KDC*>1^(C^^A/?NY?S]0OG5W?-ME1"4#1^(X8/R@?[WYR^ MO!7A8Q:_ELGPR1L85[ISCJG;+&C089!U*6?HYBGK(6KG"X]-M9968MEE.EEL M)&!H5T ">"U9A1W$(MX;BH\8OOJ?GVFGQ6"0"+B[[NP#[[@ M-3R^+[R0851[I*?4/K=PN/&BUNM/T\R83R #(7X\)OR?^^61(*X0Q!5NWJ;X MLL#XC"VQ8.!?HN M<)IN,Y<;&!A?"DMZOWNL\ Z;@TIGS*DRK.I*+=^+&9ET19ES#I_$08DSFASW MQEA!-"*P'/Q@.;PH"3YC3.3FQ05PA&BL4UN*\U0_S8L5O0&% S0FHN'8:RWG M[R P\:Q(XG3+W*!6X@N!BEONK'O=8HJ/S+3U:3%%BIW&&DS.?.06DV*I-R6S M$4IU>(K$I@=]2K@$U11!U".(>EQ_ K8OJBGRK6822$Q$XV2ZQK9'^F-K)F'Y M@1VTLCMI)E34Y\"MS-P.P.W\_JM]7WA M=H;L6K]*M1]S2FC>6T,0A81.=HSD!W8[(\=U.O?=1=\GC>@MW1)40M8L0]9, M6?1ZP LSR(86@1N0 @EUH,?=Y7&O^6U;>N!-"I((R89?'K^C 3WA"";Q/^]4 MLHAU$F(ZK916_297DJU^E.K,L\6T\]T9Y^CE)R^!7>%K&R&@L(7_(??$7.ZI M"H;!KPLY0UU/[)XBE].F:4S5::'4^/6'#!^K7@(2DPI_"!.71C&-4:SI%EPV MUN015 *:Y6Y#&(\-,(8O(R!!*L ZV <>:8"??GK @6D/IT"TT#;UIP&6S[:+ MIAN IVD?S_YJ302+<( !",2--/DOY'CXQA!\"5CCCZA_X=>AXD&'L@YVO 4$ M,4=CL?#V3%ND;HP_6WT_DG$AB7).R]N:+OH.:". (R74Z-R6YOE!P4 M!_T^8X]__:%>H6:,WUN$ZO<,M#J$*G42K!N[.%7Y893AUHK4;Z0-I9>/-!!8 MC]-"6[ ^0!E@S@&:K@+4=?@ZRHD\4DZO=!C CX$ UUW!CV:*Z,;OK1/Z_*]H M%[^A40D,]-/1G_%+?N,Z+?C6)K1O((LCB8A'"!&(JDQBU\C !X!!LA01DZ"M M"0&1BHD0N-VU*_-LO&LH+$V@R6B*RPJ(-D*P^4"(T#879(W0H8@S" 6L"3"; MJ_H: %>"S@#R!'<"V7L5$I!4_%^3&.KPE>B/DFQ HM$-,TQ@BD7?!X+A#K3! MQC/: %P#X'M?DNM066SW,P<&9BM-!,18AZR&Q\T(XD0&2S2I1I/^ T\" ;J$ M(ABMALK378.8RAS)0 H3'!I7'GQQAYO,WC4[?7<\"N9'/W MZ1,%80+"]--L=2H8JKPM%T N%2EG.NE%REZ,2EJZL1J?G(^'>L%#]'V;1.'0 M^?%BU_#8$QO9I&5+3-'D.+F6+S635D5)-=A??ZR) 4 (#>I[;G5#=&@0K8:) MNE]XE(*),4RX9CM&WM1A<]%KN'$H_5=8 G1^47ZV+_8 MY(2.[)7)NFQ'19_WJO_O_SKHRK_S7I_)H[US>N^FL3L[!B&WZ;\P@F_^+:B. ML#:?IA1%J&T]Z>]=8(W!5;MDF$[^1>S]C"!T!%XT0&D/B <#DKRO'1 M,<^<>&:J-!#*S-+I")V8$3.+()IA'#YRXIF@X S,9$-20#392VWRPZ0.QGP4 M1>L.5U9#5JQH5X>6TFII@XE#EQMLS($KCY[)4MW6K)?= +)&)NOKV&@F&[TQ M'^/)YRL[":,3+VABFLPYY5@R/36LV>BRI:@>D9J*;0X2EJ69;+^" M[O =/9-CI/YFT[ K'8%I&UPD.RCERVCET3,K$CEC8F154NS&9##/C&6Q %@^ MZFF-!GQIA/ M'C]3[*]2R?4CMU'H)#5L&4Z\3*50\=_1,WER6(\)T6JW4VI4Z'BZV%I5X-DI M\OBACY39G^6TEJ#$]&[!>.1:5"6%EQX]=5R?-N+K;C="EM)]58X:5%%/:8(&^-XV+>:7)V( MW6OD@[O6B $LVSBP=T)86;]DQOWM^:MU:$:8GJ/Z#P0R5+]H2P)AP6-!?QJJ MX:W(>_,XYZ^O.VTE">,57W\Z.'8F3UE,GKDDTK1D)5BJR>4BC^5"?I*.MB,' MWEBAFGWG<-'##$?!-&WD57608W!J!ZY-*[EXWUI,AU%-;#N!2(:T9XD%VVG1 M6B7?;ANE1-_Y]2?V )7_BTF1-Q'T@L'\@$ULN"-S;T[CARF)NQ=2XCQ@0/Q@ MM'Z M&),M3!W3+M SA*/+"/GFZ9J^HNTJO2BT5H59);+31H@GE,[\V(:!4FB M9Z(M VC P:$S^(,Q7G^=S#.511:E(L%82)W0 ?*FTCT@3D+ M=:!PTQ41_.7,T?LPMHW9*=U(I%*1 M25N'A@7UP$1?;IGX;F2X3.D%P[QD$$*08$X(:;L]>%8P@\OF@HS7>M]%-@CZ MU#8@Y6G6-GGD1B/#Q'MM9?JTK8Q5B,]5!_T]]FT\$RJWFZ524YFU6#6CM/I M+OM+8UCKAFI5:"W$=1.LV MF4E(4VHP[XY]10A,)J.)Z3(_5(12>_B8C419XW%\+M,!ZX;V(27\O6V!-M=IT+)6J=EJ+Z"8V)=/6&/D>,?(LOD>8 MV(_6?CHU\Y+*?I9"$2= LE7@ >THZ?TBW%B4))6M=1N!N WWE%+AWUVHY>!) MYWQ?*VG1!+!5LBOSY)R>@2*58Y^%Q%Y;RM._" #Q,8?[M0P;^",^AG*.X@1E MF$Q"=DV&F;"29_:,T##]X8J(TXPL>R1Y8"[L%W&\X!A ZG]7N T)"K3.\8K2 M",&M2B-&:%R'6V3R%"M!3P4O)@D?<#YQ#O^&TD$2,02J[A!_>R?#)]=M$[[1 M_.?W+L^U7XQV*E[Z!KIOMH+-\HIL7&9W:\-%756%N0E^;W_8WV4,OLQ[#\JY M8+[6MOMT,U.";>G;#]RT%/[D('NU5PWJK7G*0\63X:2;$+.,[=;V9G#_^D*1 M:CP:3C#!V.\W".HJ ]G?NG058.9:F*&@*(H$J/$C:@*FN19FWKCFD8Q=$2W' MN$"5'CXH]+@RMR3"9*#\SXF9C]] ?=T:^PD3Y&YE1-J9;(< Q?Y!\<^;!KJ] M!/?5(7>!&/-=SXPKP" 0=G='"#]/)'KW@0.)&##"[4K$8*I\(#0O*31Q]P0" MM4\(Y&; "X'<#.1F(#??(S=1LQD"WX4/Y&; "]\F-Z\XP^7;6<2M"3MDCX!& MOE%>WA.QU(%!8(+YK#A]HW#&#^W=#J"QU['F@7=G]MBW\[OS, M90_X%MG[N@TH]2T]1"39YB>I;'7<691&L?9\U5V+@R].KOA,XR=N84-I6]#@ M7FWTH5E#'67:$T$[W5ST1%-17B]5D_6)N"!CZFC#&OQF("Q9/H;*(ID+S/;V M'7.>VPAZ1^F)#_CY# U&R8MKH"]*JC/V%[V4&+K(-/'W2Z'/="TMI,M\5BLE M-IWUHE'+ZN4,*_)(0$6A@"+#B5,BZMLMIRN*I.>S0KWK(W?B3MQ0J2Y3/VS;#:S8=J>2?9:0UUJEINM*P*A42/:]]\ MTZC2FXH,/3=YT)7:;[1X_'78YP+XHI%V7[MC_UYE/OJ/,(@>L3OVBD&T2.3G MLKRV6')6>>PX&CUG[9C#)W!8*'[&Z>K^9LX@'A3$@WZ8#84Z7)Q/$+FJ_2OV MDQ)Z3/+T0&YVUNIJP$5'?2[J($D%[:=())PXY;W=I,#8VER/$TE>\SEGS$ MF4'<*(@;W8W-EQ.=GCX<5!5])3ATS?'#-YI^>U\+X_<)-R6M+#?8: MGUL.^PHL727VXCN_ M]H=$G#X\B]T'UX5\1RMW%P/Q 0"N'D"Y' Q^M&-.WZ]E'SCF_G?,7YHG\#Z# MN-.-.,JD$PHII78_+ZNKZJ"E^S&;\;9COA"J$967ZA9)QQ_)X2SE2(;DH(&4 MT#&G3U;;!XYYX)@'COGW..;GED-WX)C7"J6RG2A*!3(V'+2%I35/J X>F0L= MENBN_9)/;G?T6O M_&VC23GHIZ,_XY?\QD[PZ78C/AG,LC?GQ)WCAF>PN$--=)?D\9"4%^:LH(DG M!CHUFJTBF-[?Q#VF(\ *_0S0!#@!_MT0T&8Q^- 8.1F^#W(0'L)B 6.&7X]^ M@<^$[YSK[IB7[70XSGO8=J^XXS4>D>R]VEU(. !N['_>:7HAL9<0TVFEM.HW MN9)L]:-49YXMIIT7DK_1D\E?25"M7I\DFUR-7"Z9RHR,L8FX(T?L0HOE' M>%S$R5Q;+A:ES"0AIT\CC4)R&&B0M)!ITM$;JBP6+($2]#*'M M$"%K8@#PRA@A#$IW)"$B68 &/0%U[1=J_>R RG/AHKG,T52FW\EQI61AW-LH MU#@Z<: "O!JUTB>I=5.Q$_RR%0'*(L,;"[723G9F["4@5,IJCZ8SURN=KDW. MF&@NE)G3:&QB^-B).:+6UT=>O4BKK'5B%#TD2P=*]>\&_/.,3J+<'Z_2?#ZF MS/1LGP%*N5.(?A[2W&RNZFL 6L!8RB(X#?B=(8?M/K.M6X*Z__>T;EI5W>H# MN&51'VM0Y4HGD:57P:86E:8]LMO>+!AC$&H,DA!9\=?(648P-'8//M28(GSU MOJS8GW=V(#>LB6 =3$%%NE:$@@9^::=VM]I5@] GOG\ZWAY60B80?TNV@892 MF$"[&%K"WT1\Q_1"VZ8Y(3:G0E0VUQ(FNHA%\ M^"O$'((!_7FF2T -$_O[& )5!DO@T1\R ^<"I-C]-T+R X8H(]WGC3TDH*5G MVJ,1?"IPQ_C-#1UYG? !A"-;$[@1 PBFKN')<*YI:$/[CX!^N#C!).V='Q_% M)75X?%4>X3-IP%&?Y@ ?'#],-&53"8T0NF74V0H@!L.01 :L!)#E*:.IQ$-X M.A6XK(;>XBY"HO7 ]T&4'I)7(=>S^9W'_^$[]#HU*+7M%$>'S,2 3Z02^=3X MI-_T65IR?\6^A8883SWH?^E]Y%%V:.=GX?]8>NCSW&\:%M]$SC-VZ=%O%7>$ MH^>^Y^KRR.@XN;12&[8K5CDRF190N.!MZ?"E2QH[9YLU37OF(IOS".-11\-P MD /:A$CFXO^: MA&A#AP=RAJ!!GUZ%O#"V5<%X>HIK1+J/AEI(M%7!X^W1(4,L=P>'(D&T=,.E M\H.7SUPH$*(+!LSM8/>HHZWMC^3FLB&A;8SU^%R/$U66$.C"AE6\%U("[AF%&(S^ H\XO5KLK(M6VA$ M<$'#[ MWMI.;W J(-C*Z:T@7 F-;_?T=$^&W#ZFK@E:%#+-[!EZ)/O46)J1V MH:;$YXG.S!Y.XW$GQ3G ^8@Q]VDNQ/^@2[R[$=+[IEJ#LYAN,68*G&PF(G(D M*_%E*!H\A7:2I1"%N8-\(3T@.]JVMF1V9")Y!.;A?4N^82*['>R+J>O!)0;/ MVI"."1X[15L9[-KH0_#>1-_<-@"?6,O\8EIA4F1.8DL9>=AH;L3Q-SOP[TG< M(8D*T8 :?D( -8%DX\T7-'8\ABIH/Z!=&V$R<@/A.UZ$L@I]YHZ+_=JU!J$PO M#.X;YNJ/WYI]HHC:R#/TW'; D%':&!^'D^.]SEZGB2(I1/5H=-'.*C$0K768 M5+O.-R!/1X^#&3N2.!P0_L_^A'!7'[AJ &D%EWO19YRK?I H:.(?748^](N> MV-Q5&>9I$G05TE:O'2.7]P;,RFJ4#RCY.G$LQ]V M11W(=KC(G,D76QC3D;WKQJXI0\6>SY+\[_\ZF)JYR^\^RP3MG=-[-XT3OF,0 M(3:EDG^WA6U,/CV,QFFDW\1>S\C"!V!%TT]WP/B MP51S[VN'@\VW'[XQ'=3#%9K4>CE$?;UJ]57J.X34*0 \(VI$O0] M86\EU62L?$9O1CNM=:,3JK!:._3(\O3QRNR@8ZY2XS;+A?++F4-7+;M8)@T9T48@KO\ Q//E_9';QPKG:LY##/PI5';P\)RJ;\F,O..J ;F_#=I:[G*V,^ M/5PXB&L_5M-R@LYXDF)K=JQ4TL\'' MCE<6"NNNU6]GI0[(3&6KLMI,4X4Q7!E[OC+-+(W':0.^5';R1483$BDP'$,E M?_1,2]&87'PZJ9*ES*1H")PQ2C%C/G$"GK7H,KHJM:L*;97(BL@:]46RP2>/ M5^I9M;M(BJ&\DB:I9+V_'B26:P>5Y1\MC19-)M1I] 0NMAX+]+J9L;+:F*>H MXZ65RM!I+Q+DAILQ'7JY2MDI9H&7,D=HF@YT02EPF0Y8QV2=[$RS*Q&7'QP] MM5S,5 &S*A@59B5:;/>414AGQA13E15GC)8>DA2?5Y4X3<5H)G'X#&Q/+.*YM=(ITXM. M+FZ"87>ZF<:-AK?NVX,2AVY/04..0UM89603Q4Z@<=F&+TBIT!+[M14B34'M MET(9*L>5$IF#1^4'$!BK5?686$#?2( ;:DY?+5EV.!BW3BN72A1 MK;4YJ 0)''JB_B4*U72MPA%MML>U"#_53EP'/"[Y$9#^=KEEE//01*@PW6B@ MGV#4/A%*E-T36/ $SX-'[TQ<$I(\&F'C=63HL^?A,N^9;AS -7"%^5Q=;T," M(P A+:CH:W,$8["_(\,S?,_M6GXXT?R1VC<.0@=G=7>R"H4T#\F$M;(N'.!9 M+-O2C?7!XM-^W*:O<$R6J]7(KE"CH^S4*0T?V5]_?!?W\ 6TZNW'43;9+HOD M;!3IEKI5H WJJ,KAN.#DA!OL12X]VAP">)Y]2@5/7+.-* LXJ&PBKT="&3K= M^>UZ;F?6B"UQ B0;A47> \HV:P8$:%F&Q'N76):^;S*S59V[!GTH$7 MKW'$-9L[M]*][P"5@BK,3?![^\/^+F/P9=Y[D"^#<:9M]^EZ? *DP^T'KKN' M/SGP"O?JD+TU3_X==$B3KJ-I&=NM;8_FPN&=$]"8L%\O,5'!;;[+P8 *)W\Z M"!+A!/W384"'XS]>'%#A1/RGPR 9IJXQ1M97,"##U+VHA8^.1?6O47 _5_S? MONOVZL1&]VKO\;]' S]WPRZCGQUV24?"D82ONY)^?#BJO"(J;JR"V\4JGET- M_Z;1J3X6(U^>OQW(E4"N?&6(;CA.WY=<?R ,=/^^HUI J*"_H.$-\A5MQPGQ^.=F-BY>-7SOTD5LAXI^H'DOL>L7*#H9",6XB#2M@-8-HJ MKG)'13F_;R'.X5,=X:\TZCTG3C_0(OAGYDY_9K;TGO.C?B-YWX6>?EALZ?D$ M1F3Y'=89/A :L%!-[+9P%H><<*5?$'&Z]XC3M[5_#L).MQ1VPE* U:2R#C&\ M6X,Z7QP'EJ9,OCOO%CJ=12(O/N9G&Y/C63Z* TO1XSO?05CIIX25ODUV!+&E M6XHM?4!VI.ERZ'$TT(9<5YRD%W1LN!0U!\J.V*\_S(GALT'LZ%YB1\_-SLY^ M*T1D8*JZ:1)#-RP9Q)*"6-(MQY+\J!K.8U:BSC'[K P%?QDRLI=>.*$!LH., MV(@W8Q6E6]K4NYWA6&E'6#Z&K,SZ< ]^.IK_#6 X" M:OX*J.4*Y78A")3=>Z#L6G:.'P 1F#[@8^T$3"()0F]!Z"T( MO=V"_8E";^]1"U4=W59&/;Z'*O#*?UT1L.M@?=#/_24%HOVU4IR)4E: M](:,)34B#2A1T%V"R/E-TAOEK3N,F69U Z[3GCIR>@T_-4L6U""6&L12?V0L M%6F2OV_2-GVC8LAC]P,5D]GC>*@KX)_ANTXHC4A,'P^[E4:1FW5(>65+T^'C M!C5?AV9H+,(<*8U_@C!I$";]F6'22\B/JU0-!8"L(;-U@8.OGI&3?"(2= MRL1N-2JK29DG?7K"_NIRHB9SEFAP73*W*BBY:$^(-= 846A_Q1ZHQ*FQ94%1 MX'V&Q&K6!!AHLAQ\+C*_I%VC-W>Z^I,9YO6'"0)G7S*]KM>7W)= \>PPOT'E MQG3059*YIW00EB8G5 YO"@VSRVL\!_),HYZMCS5KYJ!QU"B21R6"(L+SV+5^ MXRM_&+E^@\J-21O?6+PO21N]**?S[*-45M9Q,]5A:^/21&21M$'M9H[3!D%] MX;U$&?_=S4T/QF5<-'YX*%,9*%,EW4:CD/VA:LXZ3\-_9[\QA7(A\_6P!?ZI MQ-2BIXI2=9SFT@H)G1%]B"3BP97L*X9D_<=GWRYC7HS"^N_L M-R9C+F2TOBECVF6*J[++F=J)*:NV$VJ#7+_/(AF#DM_40S(:=$/\H,GZ'TN MG/!G"[:J/8-;$+]KYS-9VVZ<#.,/7MSYTS=/'OF=!SL_OZ*(KCQ:;T^2\+@U ML>/8[;6B@MV4W$)AGH@D XG',$D_L=W9D/T RR= MM@U45>R!XF76CKFL714,@\_R;/91$2R#3(^GS#R=IN;#XACR=?CX4AL!\:K" M'\+$5Z%-8VC[37Z2![ .F4!$\':@'C.!]EE@DWO CG&.I516H04WVRQ59?R8 MS[$9"&Q-/X*U1,U <0*V@$%,!0A>F&15@ZZFDQ%"S,-(($M2-D(A1' MTF>R2,@SJ!$M$XTX0']/UQX+F1"5)$0#2F;S 7_8";?"1%K7Q@;JE3$73!/U MJ46K=4/7A*5LV' E*TL/1!.H,A@]X#09MWU'"XBV 44\P8H6\3?ZH@?)--OD M6NC3'3RM"=PH8EU4*H<'?<+]JX)#0.ZMX-HH.HX9G P3[8EL$E"'@Y A:&.$ M)A6,95/%Z,0/05" BF\,-'']=&0(O9FMVN@DHB*,@?M2*&E4&XD1$W(94O;X M#$CP# T@*/!A$&$2 5>:%N3+,3R&AE;M .0^?XV_-K*]1T">1KM!N]Q'B&U8 M@JSB[[K#)'8(T&T+OP_]OD5&V#>\V)ZXLEB<0(B#)ZK9XO$)B@)A@=D<\I:Q M)DP;P=1$6/&^H,HSV<*0,1%FT4Y+\,.T-AH*UQ257\7Q.Z M4Y"0H"F-'KI3N^C=6X4K:#;"KZ=SR0<"&MF013'KS>>&OI*1CH%:^;O-'M;D M:R.(+1=')"\ZFW$B"3]52EW=S(2:8LQ2V _;.0AA&>_04 'LY/\!ZDY:.0/ MYD;Q1"M%SBK9N-/KIQ]K#%2\3/)5,Z?]!'6HCCTT8-#-H6:V( (A-T YXLC6 M!/^M@.9D:X(*!>T2:#: LM58RB(X$*N%9FLG4 VPL-%YX$.>",$ 2$!A]MT? M=@,%HBP=(-H\B6DJMM.%61D! W^V>R5B4_A!],2BZ&Z1['*]I5OP+P+NBH"V M5$KU(<),;J;(E74J-*+IZ>?-XPP8 6BS27M]_UE-PAD9-W<#Y"5R MRSS+[B0A-?JUQ^$\.0LI-6'B2$)38PT.FK2X:N/'C =[*&> M<("!"1I^>V^_)M*;$K& 6X2DO7V7Z()H_S3_;C=!3*!\T70+]^I2@>49(P98 MRE +X@(=1$5+^+VM?GHFV+:'V-^]JUP07VQY)NP7K7L="_B@&GVO>HY -P;3 MVQN#_K%Z,RY-/1$U_;"/_#UJ$2"#(_L+2%NB\>@$L=52MF37LD$5]P 9E@#@ M)T.S8S1"YLI,F$)2Y^II2+Q8^D+):>A3;,9!N8;#DLCF@$:?AO:,(0@)W/T% MOP@+//P68PMFZ^DBIFN1SH0U)'6H[H< 0(M^"7>,I =ZLH'2OF WE.Q B!^P M(72$#]B0IB"'0V+W)I8>0LCES2US'#_\@-.MB6YNE81K1" 8&2]=8=@_W0NR M_[9C(R_DZ)^N_VSYZ:38GW!-6^V:E-JI#5>EF2UW%$IV?OV)AH_K@+92?]_< MTH"%*!O;"0*B1A18@R!$F+*UK3G\A$-BKINR:W][V+AU/#R?O@#/ZDU0,67/ M!M]-Z45#>K>4"@^S1Z?P6RZ5GL12\Q$X6J@W:RKT,K%:EDK69+.&RID.'U_0 M>L*2JUE$)!8@=[G,)SVIUA,A+@\E(QWZB9-]U?C$Q\PV:N,7\7L=)>55-B"5 MU'2-VNNKI-@.)BR6\(=18$0-SRPRQA7#0T$5<(TQ_(Z.2Y"W5A"*N#S)360O M(3*1T$\8$ +B?>_K!/2+P9XC?B"^7;/?V%FB>#=S V##_T"+G)#1YJ4,]"?9 MD"CWQZLTGX\I,SW;9X!2[A2BG_/K]N0SA@*TS.ONP4^-Z=KG^HK6EI>%V.:1 M3#^.\S-1C0CQ/I3-5"Q\G)?:F>0(LN?U7QA^[)3+?+/(.Z2=7VEJ-J]GJJ%+ M@T?D"K5F-5XNDHMZ+3.9B4PYOV8A>*+AX[*R)ZD(Y>_<[:ZGKEU'^ 2E[JAX M3T,A(2EBHU^'EI%'S,A>@4)]YR+8[0=79E%Q]UCX&/C?__ZO_>,\)4J?R?&]+AF.4-OJT]^[C#V#+V.083KY%['W,X+0$7AGPBJT!T0O M4QM2P0@>WOW:]C/#A8CWH6< _38 BA@O 7KZP7,QKBQ]?D%$?3T#_"KU'4+J M% @,2.!(T/]A 46SM /^::@]DNA#)7C2HE,SM"ZBV0GW^#14NHB9/NFJO6! M^8%]H^N;'X?1^JUO)YN$:0^1CXKDYM:W0V+1/!IZO57^**WAFJ_/_UI -(-$ MJB9Y*TMA# 4+JD#U_]!(EI&SX1 D4>R"/UL^$)I[&X#O@$*_JV.V0.' MIA.JKHVAF;6WF0-C'.),\]XTA$Z\#5U>PXT.(+<*:9>]\-0V5(JV;T#%!)> MYW'3Y -\J@@@@M #3.AV("1H.B[6\/[D^61;A]J#],,3F#'.O*]BW"$XH- : M3A]!!\)+A)@8T+KFA>S=LX:) DJDK??,SBU(=HH4[@>#$:/"S8U9YGO# GN1 MAF>1!]H- )I ==4W6KT'8_\DN:XA2O;+CT;X?W C+5V%B.,T8(S71-V+,/E5 MP*"@K*PMH:V$G0XWQ0=_5&7!U5LX "=HB'V\\)8":1ZR+OR3^T678>%W37QP MX!Y\%UK#WT(TO4MOX4@8IMKMXKTP$R2HHT*D+91D#7*,;/U_I^&.CH6RW.BY M^SO;"\:)(K)%/2JVS6TPVSO.#$!1(?U[Z-6AG>]Y99Z+]^3:06?_7:X=/!@G M',0+42 (;NHI]O& Y-LK(0?7BS20":Z[B>JG8^Y>YL:2T/H1W*+E1O>V#_$T MQ'8M<@Q%T;!=88TS26LLTV075H;T]$CT/0EG2J!<<"&%8Y+//>5#Z301)&)K MZ'P2K7[S55^H_T'>6%HP)X4=2B ,("]A&CSI@8%G*S1DID MNHV353]?!"&D@)D@:VXVT9SLDXWXM,DGQ8VUNPEV/(S32^^-A^P]W..W)V;" MJN2+A[F1X,5N[!&6+17,,$^T<9HBJHI>F#1$>L&M.V8YYRQ+936&0A;AE_L8 M?)8D]@,>OL3(M\=+/H.1=J^^>E1EQNG8=FG:-HL;:I;%99#TN3!R(L9B'BHT MK$SWPBDX;R !+SD E9V.S4QU9^&AWQ%ORL8.U5>KJ]D=HPV,V1ZD<_.(V-N, M%ME.ER[5AD:G9 "*/566_#YPFO(JA"SHG9O]+.#S62SM *]"2)OAJY8[GS"" M/WFLS%-FWYH8P(TPOUX8?23M=Q:(L&UYYI*G 48J]M-.!._,"?9VO/(RM^S+ M^VWOR2@?BQVX@Z077JFBVD9H8FI^$V([-HJ>9"-/&/%N***%'$)TU++N.G#L M2C9W:W I2E77]&UAD_LEK["X F9#8/#+220R%NJ"K BMFE"(4YU"Q1Q_,2^* M*JBRAC[[B,B,5\>#(:"9!%=:C<8ZE\RR&08R,OFSE-@;8O3;\=]]7,[%8GFU M(&/KL0RZ/)V<]SZO)#^/?R!5./JQV9MVA*BV)KM:LU20SHO_YRHSZ]7"O5.4 MT=\ORKPPRX=$V6&.SJ_D'#UYB>+;R5E(9RU)TYV1DLO07)VLUC)2ZJME'I\A MYS&U@@!I"G2'+E"ZV95'^8+>0.3\\G2G'R#.SHW_Q[X8K43;M1RY'JKR7*HF MQ_WH-?#??RQ)L6Z>E+GT7 )\:UD2$J,&\@!>GA=X%@\ =2S;2HNGD-93Y;[I MA::0%85BV9X(\N3,[VY6[*I']Q/IE*@A.9$#TM6;);J*7TV*=C=DR64B#1RN-5KG(+IH]20G95A="R,A.);0R M^GPEE4BEE\MN;-ZI"96<.@VEDG.6Y1F>?+ZR$6D6\]46""FE>J23BY;JZVFW M 5<>O;W1G-M9?C,PE<5HT*:Y J]N"F.X\NCMCV*_F&>6R0$9XYNAY:0:HYU( M ]J\1V_O=$"FW:_30T4H6+.QI;5!:\3RL>.59*G;K*86R3RY+G)B;I6V'@&# MIM8?K1R/RYM*-61S'4#WJME'FS&T LLGCU,-9/N]?'W9)K7.PNZN:%[56LVI@Y8> M;: MUH:M86*4['13J5BQ5I;47I-%2[<;^/:PY;/0L&?QU('10NY<&SX]I>KH M]IA74K-4QLXT)">USJR6J<<>IPVZ56RXTAA*"2"QUBOKO-(; D!Q.8?OM0P; M7*Q5[K5-I&JMS1$4Y?9^I_XEJER;*%33M0I'U+DFT-I6;6A1=Q&^=!C,AB0PQ@+NK2B=-.Z:E'=ZE+)C8_)X/2Z MRY+!1PQ#?'KW%HA[?NQV>!ISCHIN<)1C:SNBGU%] %XI($=!A5:O2?R-EWE! M#MTV!:1DO1H:SR&!6AG\\QOCVJVCV18JNNV!(-VIPMP$O[<_[!\S!O?JG1!5 MQV'JT+;M3-P:0L&V].T';@$A_N2@SG"O18RWYJEB,$'B_D6_4!O![=:V0'5Y MZ-.=:^(4KF1\N4_-7AW@WBM1$F<$H;O5^]O?<=^AWVZM)LJXO%DBZ=6QXA=O MEPI#R*40B]>NE_R4L;-7]'KF=MX!9JZ%&2HO#D@-4/-%U+R_.?>G+>AK0N8CH+FOV3-? P)T M]-"'_^]7]-=G 1(+QZX[%"'QH6M\;P9C4*(&53!4W+ WMPM[NW?(&>IA>YE\ M^*GF][?(7XF[8:^3Q/)^TG!1?_SO(3'L,Q;]6<:BZ&M/&_EVQD*QPB-(G^< H!"5S?1"?_;IP!XP:&;./RMC $X M75 N":K5ZY-DDZN1RR53F9$Q]@NC1J H>*J9.]'\7XC.XHQ6[ $EW=K0_:FP M .4"RKXSJ.GA0SQVW@$CD6# R%,8Z2:XZRRBY?ZF&)U;:CRK#'N4EUSY<0WT M3NAQ$2-S9;% @+;$T.V0ZM6+Z;9E(@L'U7QORP2'J"0MB$=<(![QXP#Q8G#" M3[+DG+$'E^UX3N[-!Y/A>$;*L76[N&HTY337N&;X82LJ6%=25+&@J(UPA:Y9 M>Y(2N%[UA*,1F?*%;+6U22E"M,F*23T;BF;&<.\H/,$\1,ASCLX.PA-OA2=^ M'"!>C%7X6-)<0(B<-QKQ52%2:\]L.]1-Y)2NU-E,BW3.J6:1$$'S32,/%'/< M/OX&PQ7/[@*@_U,T?@&'9YQA\\S21840'(AND_A?TSY\,WY6/!Q]3FZH3 DU MXD5O>79V^#%\P=_4/Y#'['D0Y?BB+7>]?*L_H>(9=GX#2V#E'5TD-KP[\ZA9 MHJZYHIFU+$,>VOA:4%O?WLH"4EU8H\6L@09'@L.6#4]2>VYS,D/FHF5NEK,2 M54L48MU<@X^YIM\Y1U+_Y*"3[WCMVE#Q+#Z_@>7V1-!Y;<2SB" VL^H9K5'* M5DHY<@2$?(U?C<=0!"'#D7J'ZQG$ ]C@-YEU" *&%0E^2E,Z#]0W9YXOTH< MT;OEJ3ETNEA:25&[*D(^\HR[R9R*7? M6.\GAR!_W*F#0JL?'_/Z<:<."JUN(\A2/=&S*XB=!!54/[2"ZHJ*T0^0N3:- M!$5 MU0$Y N->D72>%X$D_K6\N,?1_,GZE/\$'DZVT5GWYWTLC&VC(PFT>'; MB5Z4K5!*1W0^N4YWP"1#\97-2+(%]IMS O1'QO^=:OB["Z61NU :;ZAR)2MM M3*X6Y68*NTSP9@MWPV;0])?DR^-? J_Z^RI)_,!"9[NZ[+N3WJ*P^'!(_AS" M8B7$,RE3>,R2MEQNS1XIH5Z/8&$10\*">7E6T+V'(Y[;4YF@E",HY?A^N^L6 M#G^+TO6BII@G&T[(5]"S$^.:/:>54!AC=MQ_<.7P06-G M%PDA="$JX0+?[8G\@>DGW\P>6YI%2_9VAW[%FPJIPEJWK=\C>06D4V-D]MI1 MNQO?$O:A&>LNBR3#<>_*(#?$MM,,M/>/3 M?2[YRF[=W]!SX*8@[:KN)U[#2>^C7W\.QQ>_>^:=<[JTVMRKK9: !8P9I :) M0),(W;IJ-!JU(8 M$L9C XP%"X\]?G,4ZGE Y\-ZU4(U^P%1Q>[!N@5$V\#3HCD7,1(:7IO&\Y;P MGHZG5[%X,--SP8;',6K=B#YC%H]+M/(AY[B)^\"'T=ZME> M(AFAN610=+KRZME8T9W./I3Z)_741]7Y?PXFUYWX':_:>Y"H L% ]N?DF5IF MD/:YR,2'%_LCTY&] (ZK#*G$\ZD.__U?!_,K=A;RL]F!>^?TWDUC53P&(7<\ MAC"";_XMJ(ZP-K<1K60X0CT9%]MM,3B>1*)H%['W\Q,2#O"T"NT!\6 G/>U MPQEPVP_?F-.QA__+(>KK#N"KU'<(J5, \.;*BG1BF$@,15Z@F"$?B<63?")* M1WA #<%0C$:'Y)!!R-@?[EE>]FQ6&JYY,J?'E^-V8[0B*^RIN;)Z9#!;\XE6 MB4R/QY+M MY/C-?-7D"]2DZ)R:*SNWBS7;E*-Z)P?RD4XN9Q9M^^1<]?C47%DFDDU&J"I+*;EZOK7, MRRMQHSFGYLI:D[0#5J65H]BJVU V):K[96W% LE9\A,YW-VOVY%S9]$R8+ZU-J$'6HN-8/*-VFX-QX^1< MV75MD4[SL>90L75N().LDI;;XY-S90?=Z:A?C3I],I:/%N,T&TKRW/.YLOMS MGE^?]NJ-[WSQ6Z\._?3GN$LH:)/),XV[I,.Q8 K9::F]]\WY5>;#!8CQ)6*H M<"28=NE+S$ Y2068\2-F F'F4\0$PLROF F$V9DQ\PTU/6]9SS_E1F7],EB&Z.6R3;F9;)#=DFV M16JS$1#/../2W.AKRS;HJ@+4,5\I.D91HUAOQF7D(1&/G;7J.! L@6"Y0\%R M;IGQK,1J4[$3_+(5 ^'H/X@@@Y;QCBJR(D.UT-="D7&I(+6PLE-Y5)N6ZRN]&6 M4>I4://FPA0O=Z&YL=&6/];7\]W\-'\(6[]!);#P+C!5KK54BM',NC-1:$=H MM=12J4.EQMO!EF?/1?TT5@L$4"" ;M8^/(L $HQ.R>RHU9JRZ,XH)IN6TJNZ MXXVU)"_3XO"N8G_?.=;2CU#QD5?NOXRY/P3Y+4#J]H3[5>*''QD3-\Y&6T4E M5%.Z&:J8G)1&.;;A[ VU/&\_Q4!6!;+JQ\NJF[M,G8?44B_<=,/]N9_VJGOJW0DH/B XG\6Q=]OP.1L(RK]>%@? M^18_#1 W49UP/:7H!\ $K.(/0-P]J]R#QWB^\90_UD3V7Q#I7!<)?7?0FYI4 M\MG8_CGFS0W;D:P#'(;B9B20[-1J'8D5&]YP2@A:*J@&"41%("JN+"H^''\_ MAZB89$DK(XP&Q8YL&,V22-)CW71VHRD3[Q 5=QJ&..=H2M\=UE^^E?_D2]"\ MX;9DZT7-L)<'QN7&E5"Q+JU2G<5RL\XMG%&/E%AO,"4$[CNJX@(I$TB90,KX M4\I\: M2VG*JV HI4_&"G[6&/++6$&+4YE&)#%J*+4X.]G48XVZL7)^_4E0B8F$,WNE0RL\J.;]0#ZLDY6%%SC(=D)6F9JYBL;-N,)3R]%#*_4EEIS[Q1OM1 M28DB1Q+#)ZAHC(^0L1@_',:C/"D.(R(E#!-B9(B>*WSH&\]FLKWO.]L1@@<3 M-+]##KKT*8Q7O].".7$M14UB-:EM ,&TC74+X:<-WY)2X0^_MH/=UJU"CQJ: MG1QGBY&T4LU%1LV8\XL D#;G\(F688.+V,];2^=9+"OQ9$&_W.P9/P:RJNZ" M[MF4SN=_1;OX#?T*8*"?CO[L$C^^_(>*>FIMCJ#HW?VF--O*$YG"8R'#53,M M@JUFB':38UN=9I]HM6OITJ[EM ] 5M.@(:,!:+NXALP#P1IC0<-GB?]K$D,= MBEG$PY)L0*;5#62YB"KD;&C<0%8>V_!G8F$+!C1GH$$D0M*":UW:(F0-&S " M%F;H*?]S5O3)T-$CH?U4'W8L0*$]+4X(1T"= M&_9D>L@$8DA>A=R0P^\\_@\?F62-<2X1M#_H:D5N._A:9FP\$$"!&+DSM3P;Y@74.E-5&-K5Y MFEN;=:UBC%J1[N+R(KR6IC-IOM@L<&MJWK$7'&F;HO-Y:@?P;XB"CBEDA_ZD MBU/LB[ERSOLD3/C%AJC;AFD+D#K@*60+DJ2);'39G$!*FQOZV!!F>/N";4UT M0]X(;L "_@G!7B*&ZS?ELTO2R&,2M#4DW;EMB!-TAW_/RT"OWH93O)!XS@%#L1>Q'A:#DA."VF M'!4=R =4+/D03QPWXMMB"0<4;MVS_R3,Q**2&.85?4$NFJ%*6ZM,BJH.S3_J M(4+1#]$D_2+4CJ2'H*I(0B"JU.= (R!G*L!Z0$?8"_U!^2&ZWQ;FD-=6\"P6 M=+G?$N!7&%\1_2;H/PHJ=$6WP(_M 3\O3@932A$%A38:H;J3RST.&A#XL?!Q M9WH"BE 5_O! 0'">1=NQ)E\;[8$H4>Z/5VD^'U-F>K;/ *7<*40_K=TP#=81 M\D_S[CPTB'5+&Z=3,RN=5G["+&0%6FQ,,AQY38D]8.X]-_%\_/+N^8E'6LKV MH-N70V1I-F'IJ/%<3>FAQ'&"57J-:[BTVIJX4^ M703P!O6L*M'$(%4*C3JQ9JY4L(;ZTBE 1F+BX=AQZ'&?>IZ%_?QANKPONW-H M -@WK?E1_,_54GM\T *6I>(.2)A#:CBEQ*V (H(!=I>UZTR"E%3#XGH<7X#Z2@$X1-V'3*,\>8.LET$ MV.X-"R4=[<[]1FB(O^UVM@P3[\(O=)ANP"A!GC!"*1HR; )M'Y\' =PG7-9& MKV+S/8CLK9G,HSDK1#I"IMRV63I5K6^@LM#T8R1:WBX\3"%7'K/*UU#H%TE1 M@!Z9/8:K]ESL@C92,9*))I!LEW)8T2+^1G]$W@Q-_EMHLO@GZM]_,$A,^#: M@D@0+*K@;%U!^+NAPV?@"!3U%\K_0M@0EK!"EI['#/O\(8R@TTY ;Q7@EEM; M4GXGR7LB;>\M:&^:;A'(2#1D074!_Y^#+,39DA)/CKF&ACBZ3VK*)G3/310; ML0UPG)?(C0KU=3:VHI398RC2:A>:4IHBTVK4*UR32M6J:J[:;;+M0J[;\E+MH0PJ>"5/=D*WU5H5X2GH72H!8QB<4 M4#6& 98 $@9B)!5Y2) %H8&"92RD.Q2'0(^8ZPYD*%F3X/N1- /&$CM2)A@C MJ>HQ["YZ\4[5 3D7\(FUS"^F%29%YB2VE)&'C>9&'+^@.*(G&XS'^B,=2ZQ30Q ER(O&#M@M;4!M M(P&#K JLMQ_37L_!P1.\?1XM]1Y5=&:1F)RNVTIW-6O4.ZE>,UW^M.%Z]!9H MUJ,/A#&@=KHM1.\I-SY>735)HQ;ME-:CY@J"@"^/G%]_XL=NT%\?"5U\&M7/ M;(0[0G55PVV[_4\G)>(3BO>.R*BJ,(4%7FV6"FY:;U) M:*G.R>RBW"V/![5""A'1<13@S/+BM$]Q1ZC.B/1L.B_5 M!))>;&9, NB+^?H+^9Z/HEI3UG)J)E!5I=0GE5IHGN$E ZF&X]YL[Y 7[ZX= M/8B1$,B^\ $7'2E0- M:U[DZ&6,V5AUJ]Y6+TB 36?@4/%QSB#3@K*&9&[!-;A3G'%.> MYB:JU>?2=O%>I7-!"2+W*G.#K$F3CL#VE[U0.B\6ERRDIE,J MS&_6RHWBG,G06S!44&]R^^71^HUSL+ZW"J%[F[$AL9<=ZA1H' M(,-@Q)](9YX,#>ZHR-Q&\P511.5RD"X0)5W!'#\\^HXJ#CZN:<"#_CU14HA< M+GH1WLZ1='R84:)\NIRR+BB"1T[[/]<;LR7LIKTJYT5TNH%K/BQ#EM MWY_9#/\B>2#I>(<$,I-KS1(=LI.=6FII\4S*&?*K"Q*(6BUIXVJBPI%V=+&> MI!9JK=6 3C]U*L#XDOGFQHW.;/G0E[5\;CC0^1;-1>KQT&8H]7I<+M<26X)4 M,?O*!2P?:6U5U^*\,>N 1E=ZK(>4T HTH.7CG"CM\*?=B_* M%7/*HJ%-S,BCDE[H%Y1=+34^+]7):4W)C1J&_$<*_%RI]6W\FQL6LVF'.?\RBV3 M3"^;%#E62%#3OH#GU*J633TOQ^ID:VW%NGUJWD]UQB]8R6_X3=>QC8.HX!X9\73.$*LY M<< !8='2125E2I^_6?YQX47%IUJE5RGUR189B@@A6RAM4,GTR:C@&\*+.'DC MS6WUM]<-4%2!8* .TI-GG7495!>RUR7W(K>]$'B L:U2H2-[\Q?<,A7D)6IR_>RVU]XYO7?3N)ON&(2&!A"4$+XA^%M0'6%M;@=2),,1 MZJD_\'9;#!X'08;IY%_$WL]/G10/FBVN0GM ])KSAE0P@H=WO[;]S' AXGVH MFS+"\V]7JRP!>OKI)HZ70]376[B_2GV'D#H%@&?]*%^_VNA=6?1-=94GU]%U M.A'(2]PZ>RBHZ"Z=28P,?7:-F-F'A3#KG:*Y.\09Y'#.-K.AKJBFN=:P%ZW1 M]<106U\@Z*6U;U[D4L%W>1_^Q#R3 MR(?:^7%IP\G+<;5HQW+]P>B"(8BRG0VM[8'55.1JM4F3;'U6%E"[EQ.7'/T; M@MA%I_R)9#N5K7=*G% =_+#CI][8(^8K3"URK)E"ASK724C9O.B$Y6 MD(]X\9NLWQ=J\B>F0:16*JE<5R);CW(Y7ZYUS&GN@N6%\68TH7<3V1%)3].L M5D]7AGG!>3F1BKM+Z@:JT-8U9)4=FMB>NB8$W"?L( D:)EA?Z'?LSU$^U^]T M45W,^FLJ20KEAM,L=8:LNOIL.YL;=K4*AEAN5*F0G>3="62[[UBW^=+K<_6IG1. 0-#T/5"S\B""WK8R1*3DL$\ZW Q)I)LDB&A$\I" M"F!.7/,YOW[_)))]K]_376M9[>A3U0M. B$UBWZ,&C?9MMW1+4 M,U!$RA98KK#DF Y(+H:U>O%1$=874.WC$?34K98HD2 ]H!*J'7(JJ!CM>:3^:2Y'G1FF[7$S)7I0B]?T,CG^XE>NM^-%;E9:-/(:-W&1$;= M:IB3%T5\BMVOZ/2S8I=LL"5HH \CG5FZ::4YLK84&A?$;BM4L:U*(9%08EK( M67+=<9+)L#_-63\KBN?R=%89@%FCLQ;C>LV>;MKSV07MM5Q^4T[TI>:BTUVO M^V"DT\Q@CE!\JGO'%[WT]+75]Y<=]+.2PJ+I2.7<&'3)M-$9Q_44F$G@ I'W MQV%B98NJOB'_?_;.]$E1;5GTWU_$^Q^,NO?<."="]F$>]KFO(A 19YQP^D*@ M(B*3,HCZUS_ LKNJM;OL:@?4%;&CHW?U*F#ERO4CR (.0@9Q3"#\">! M](\O[T?_++_H>D_8C>2U0HF$1;/0:_4WHXDXNZ(!#Y?7M8:3,TNPU5U:$-J" MNRTU+A)V%@?=CP;\MY#X^RCBOM]<9RSCI;K.]QO6#%;1X)>?7*NV/#=2P^X5!2Q;J S;2 MT8/GU&A>?" M/&>U..(F#%.I\NBJMMH8LQ$E+^.1!\^)>XM-?:"NIY*@E!C25JIS6X[OCB _ M#O7'/:S&,(YB< H\YS6G42>'S7@H_N/0IMJ5AVJCN>:M:GX2S)59>UK19.QP M]I:D^B@>Y$>2OG+@3CD?=CK;9C3R8/8S1_=:V]ZR;(BUH*L0D"J*;'S-@]FC MSCPW;9.U/E\Q^QUGL21X9LE&(P]F;ZBU@NTQ+* M3"^K&$MAK(P?"JHR< G7K)>JADA.)(QK-(;S=1CWSSJXO]I5 MZ.5H&%&SK4M=@MG(&QK29.+PHBX]DV=%+3!A+C?=\EZGOG+">.212:V[D^)0 MP<:\+A'Y9KNYTCL=328/+[HFB9GM&QU7JE"SIB8I;-_>LI$]=C"2-\+\2*N7 M0UYL:[0VP$>E,%I2^HB:8/QL@=2F$,_),,_6FV-.(L-H)'FPI'F=Z]8"R#-( M?NA86]^0<8J5F<-KTD%?=@6"9@RQ/IJOZ[WN5K"U:.3!W,GY&"*]LK$TK *C M6GJ>66[19C3R0/6:GLWXGB_PL(I9R*PLK&5<"J.1!ZJGE/L*K' ]QQ"[ M#46GI\9W/U2]GI^3"C7!Z_!07ZC6EFR;$F@M;IQV,">AUA))GELYDMJ9:EL$ MZO2MG!9W&#\8:N,;;+$2BRC?)G4[MZ(ZZUZ'C8<>JNELW;0I6NXZ$HI[?1PJ M=PFVW)21(QLZK\R8_LCN#R6U"PTMIPE+BPT;#ST0Z]:V>ZL&TZS"^F(#=_JA M30VTY*K8CT/9[.C!&LR;.J.7"(B4*HC?T?!QVZ;QY*K,CT,7&]L/JF:.Y#<#U!D[QH+J_R?(D;%!BIUD_F=61;!30/\/ M<+@*O:#;AT=;J!=]9VG60.7$]%HT]LK>) MKI-KK-AAA4=S/9$?FO70BI^ .M2#<@V1HCG%IRU8/%53C4 M1_P9S?%B55[,30[G2N-DZ,'BFFS;\\PY244KAG%80UQIQ#09>KAB0Z-#^+G1 ME(#)DAMB*%O<(C,(10]?5<-XWE@[;#MB2L6'F83ST^&J]NU=BUC4_OBXZQ:U3V4%>_Q;!?LV+]3X>B?3XAMBJU.J"YDT%:]_4XIWCMJX MR5?T#9#\,&[:96>2W-&%&[=HB#.G=]G4DTA[7-6/?J3;T:=!?$11MW/*AN1S^*'MW2XY[FF9D3QJ7V M%3/2]+CL?C1=)W#';YT_HL&QY\+SXJ'ORO$?KV/B)ILHF9SW78)C1[.C9?E> MPFYWX7'@1C-9J'9T^6PF:<08]QF,1B:W]=2%XL8/]*WK9OQQ[65"W8_%/)VJ M;KPLT=-$GWM)D5U?5:SH2N_J7D0?LZQE,W^-$3&R3 M&\WLYB9;M7*I3VQ@!29'&)POLL(B9_V>.^_W&P?]Q &RQ]G>"2+NUW^ORL!)">)I>E>"]^+[;\3L]VG8O,9'N- MX\,T27O7_8!HX6W5C_]-T13=]OPC7_R[YJK>WAWP_2YQH'/?PE)__P![5?O> M[F57L"=1PU/+-NI'IY0T)3WL!).")6@'5O1OR>X=J68$E5BX$9O\2*[O5"<2 M;&"^;V3V[S] MXP^&C> ZP4)6L>U*1ZW.QJ@XZR6I"7)+)7]LV/.KH9$M?!G3)GI1[;42_BOY MP4\/!GS_S:/Z?.*Y@;_^7]4Y+1S=[N$Y\K2);7 M]C\>OX 7_@]G+PX/4OCN_J[[I]Y-T9]\._D0;2@]XOC;KMP=GOE/9'OX*A1- M8!SWPPY=9?%V81S_"\;^\5Y@;X^P%]Z[PQ'O;NE$MYE&>W@OI?W_0_&E_]X= M8(G?/Y^>&WD[W)/<>#]4&44V8>"KMSY$\NXWHW_\K2,E;W_ZDS]8&A2L3$I7 M!OD+)<#*I'%EZ+\P$JQ,&E<&T"RM*P-HEM:5H?XB:+ R:5P90+.TK@R@65I7 M!M LK2L#:);6E0$T2^O*4'^!#\U4+DP$,[!E4KDR$ M4"7HWU")-QF,'3/^87*.X6OR8/XBD?O2C:3J(M"&BV@#_1=]9Z3X7DD8J 10 MB=W+0S75L6,!?;B4/OSRB^C:950_E="!AORFR"[SX?AL:L/\VL/Q6%KS-0/] M+?7K[?L%6:PS239[9I\0?T\,CI,?=Y6:,22[^TN<7W@O3#XJCP^SW\WI\,^+ MF.>/I!G[.NE %;YDB %5 *H 5 &HPD=S_)%4(3D4<3X]N*P5GAH]2.SK1U*# MI";,#SPXW:[^Y(3"]T8:?__7>*RJT^F-/]7>&K]X9V-?ZF;XI8X:9TAW2)T@ M_OL,4]MEIJ=A:N^V>'+,Z/V)/>Q#IL<< M9U36@Q9?T?T!@4B+0IG[67TRXJ?E[;AO)9:B<25?M;P/-:8.3K;^4*B0_ M.1"<>SLDN!]W4INH)2-,(;F;8WAKP Y&0T,C[/J'@J(0]ALEJMXP4G =:U\* MKJ?[LWV=+'X=GR6,YL(FAZS524=9?SNHB[U\J]GBSRN#(@-I?"4H2%U)H.C\ M+"[M@\6UY8DLAA]6)SRKYPSPZ\'YM3,/4 +\^Y==)S3J7S%BH5 M^518-7G)"K0;@PP:Z)-2N;4NP_H(,K9YC,4-.:Y[1KZ\8FB6(@[KX@.. 8X! MCCTDQ][BPE8TE?&NEVW)GKK*CFB!J_Y -!PV'!'J-"9&CQC.NP-HZU86MR8: M@9;*(H5".6.)HY.*H,[7KA.;9DQ$M"R*TP!H &A_FHB>AIF=SK-=C2_T/V=S M%Z9A^K?7<"J%@CB3ZR0E%+OO5_9$,?W^ (9;O BO5EC-@DGV8RFQ&[P>6;^\ M6E?Z;M?@&A,/*R*ZA$.QP8\0+Z\(CF0QG/G\#7DV-_-M=POW0_VQ>XBKI96& MMXVQG2"5(T&E/W(MIVVR]PW+1_,SQV@1IV_,/L+A\HQV8*;=6O%H:6L-&!U= MK/M-&8\]R#25A1G\XM\I %*IV+>7@=2;WR5MDP602J4S^3-:C6TK5*U>I3ES&GW$K[UH#8JWY)1C2 M$<>K+*T#'\A-I.I5 #+N;WN&U._2.^ MI,_L)/[TA:AJRW6QZ.4E2[!R7!6Q,6@9OQ 3]R]"94GXA'?BXV89"Z[C>9F% MZTQU'P2$'SX@?&Z?< KF=]\X?#0W<,*31H*3(S3>!GG4+:XDAH>Z/5KI0<5- M81)&HHG3B.DL2B @606P":3@/1&;;N']_36D9&'6L_A9N6IPG7P>H8?EA5!N M1C(B7U[Q+$D?=NH&C *, HQZ7$;=UN?[:UH9#EIN4JNU*2T)7\#KL%4*N)A6 MS,LKC0!["K *9 "##. 'S@ ^M[LW!?.[[U?RF3V\OW[]Z2I5PK3F3(!U=#Q" M!6E#*A4V?C+BY17%LA2./DUV;ULUHP%:-J.I=F3RF$F'6642M]F.3)6D,/:W MIK @WOO \=[K2P6D"-_KM\T5?<-O?!)V=&+M"?N!3?P.34<@KQBK:GVS[N2E MGJB(XT(+=X5M4R9CMS&1)1B0C Z7<+;S,7\9=C5JBC48S/X91 M&C9+.2=LE0M:A#ORY17)XCC '< =P!W 75H=UE\&G]F$ @RW0DY"3417Q\JF MP#AA!#[FY95"0>XRP-YUL <^96] /&V8)T/;<*S;\*E0I2C!' M+EH8-"BI%?_K#L4OX\GC#46U U,Q>E"/JOA9K&-% CBO@'[:.&,;P^[ M0U(U M(1G..()@XZL93##'!^5I;#O]/(SP+W".X>'/ M,=PLC) "0=RWV73FR,%I)DJ+Y0-*&=!3/F@2(T[(^7*1B$V4)$P0-_ZX9IC@ MMELGZ0^;T=]'!K(96SU?09MG(\,])(: \N9I9N+#.?MCQ$2&I/,1SC\/X\[U M02%7H /!(%&V-W>%AM0:AC(=^_VQTZJ. 6@!:#UL;NYY3VC?0MU__4$,]/\D M,3WQADBGU^3N';R?O:A_ZI?I6 X$+2S--P*]PWNJYZP6^6;TQHX;*5[*)0/ ME5IP@1+:#_2Q<3UG\.]^* C;3DTH]G,+7BP+2]MB/68NQ!\*L3N80"X<;0(Y MY6G9@J"&^=WPYMP.W]]%AN@7.A[)X!6I4G6X\:R)#/4*&R.#B$M4(L@)/9^? M)4-\I$;KH.Z=P[ZR/F/MF]1-/45Q^H_(P2+D3)Q@9*HI >R9^@8?C\VG;^[W MS=M'B%$8O0 M=9)S1J5(F*[J'2N1)L*$:+4@OV%8/ /+?',C=ANLS"09Z&06)2]\;!& \ME! M^=/\S/3-'8 RE5GIUR5FP1/+5J-6L232-A=J8,!,>=J,B FRVP$P 3 !,.\I M(')=='9F4\6L$EX#5DM&E]MPYHR!P@B=23EZP$W S!*AW(L869A-IL!<,[=(4:Q3;?+BL?/>)3!5GYCY^5#[H+I,QB.W/L MY;K6D239FXT$=_L2JL\,N-^:$VL_@4R(S+XIP?UFU-R> MG4\8Q]^%7YYMUD##GV?6.S?0L\T::/CSS!IH^//,^EDU_!9&2MI2O$&F:8J2 M+T&FZ7-[.SK*^BVW-*?:ZO&^BMVNP%(0R?6,MEFO=NRV)JQ$5D;@MQQ3@KEF M7\4TN,T^[)JZZK^EE(+0%2CZ], EAV]O-X"M ;9&*FL]@JV1#D& K0&V!M@: M8&L\0!7-6SEFTB"9VV^5X_DGZ6#59&D%VR"9JER!-JD#U(L@F(\8 8#\A$ 1H.-!S$ MZ8&& PT'&@XT_-EF#3)1GCT3Y=EFO?-KW.FL'S=Y@K6<:![;Q%&2<:89W?85 M6]-')BC-!0X"@]) MZA\+2C!:D6>@3G$IB?;:LC"V-QXOFS*"Q:65F!/*E@+B >(!X@&S &P24$3G M9GL$9,R C!F0,7./&3._;; :^4* ,M1H Z,6YE39:7-!;K788(VS:$ZQ6!\D M@R:O1EHPUA/)@<#3GYD5J6/$[?WT!TV1TB"6^T;GHU7-?T^@(Z36:\M UE>Y M#M_&"BY1'JDRY(4R@B=U[M'+^Q:>;=<"F)W:,=7(EU>4A '5 -4 U0#54EM^_A.^+<2U.$6F>%=26P.( M&"VV0H5)^,9$G] -XNTA7WC1(Y>'I=K6J\I]A:$UR\VKT.+RR7(AS M3C.'%3'Y>(S+OU^X;\73YJ.F;\/=WA%V4$,M#6*Y;PZ=.8;P&4H:LM/5E]P6 M5CK;)=>2N* YVZ$DKIQ&/W5OWH8;-SGV-]G,PE1L/Q,M=$9=!OHB)G\F?I[$ M0 6I#""5(455U](GJ?L&\J-%)O94:\1,8^T)OR<:NP?:D??$G*Z)_1QD8'!O M4"UM.O/A9&5$[PDBB5?@(!<2L#%%DGK(S,FG9>,M AU?@F3!*-6)K83UI$W' M']3X48\F;"V&9!S^0"\?_@"0!) $D'Q*2-XV;O(E7+:'Q'!*TY,\S&WZTK(T M'(\:7F)3,I%-"4Q*0,L420J<,P#G#![YG,'-P@?W(*G[MC_.7\?S]]_UPU;. M[K.]FL1; RC?KH:M7*?=C-_U<9P!H\FG.9H RF:!LEF@N"?0<*#A?^*V>+99 M PU_GED##7^>63^KAH/BGL^=3/ELLP;%/5/I<><"UTUR^9**"B"R "(+H)YG MFCR;K">+TS3EXM6VVY:#YQ$.1N=+9A%R6A!TOYZ+MZOD\D:A(VY3&36\?DV= M2SQ)NER^K4]LGV)EA(K3[C"$R2+,"9Y30#- ,Y G\J0T.RE[KDE."R6]-NP8 M@L1:&QZ7JD4DO!C6I(XYM1>(S/-0K<,$Z$+@ELLPQAKY\HH368(!N7* :H!J M@&IG2G=;*G)9&+,=#>X-W5&)ZC#2K'8YLXTP' *N$-3,T-?!1F[,>UB.3OC& M1'S+HA0&\ ;P!LKB/B;=?EXF@%Q; 9L3"V.)-* 6/\1UG"]>#D.PUO.#0AM; M\KJ\7WA-).(K@ZT-2<72<-R"@-, M-:I2B;@<3)IS:U14U5;(HUM)P*?EI;>9):ZHI%( 0601#'V:++Y]X,#4E00? M^AF[@3TA'D&5)U!G^)X_1Z\8,JA^)\[/85VC##' 6W-$4JOT1,JC[=6@%L&: M3H[KTU@6APE0K0YP#!3C!!R[=;#@)*!5U-F,",RN:[1SK3XL:^RBUDZ %A^M MI[/,%>*@S[9Q <\ S^Z<9[<-$YQ$MM4T5PNG1*,L+1<^W!.[>@NRM)AL\2GX M+(50 &P ;*"L\ -Q[6H!@M-,*XIJ,'U8X/CVNCE@EGS-R\>EW>A=->'L245 M01(\J"@,*@JG!$%GC@R<1)&)R"F%A88@!E>HN_E*KZ^R=O*!%H<'4(3(DO U M#_FG+NPH.,XDU$T39'B # ]0+?AQ8/MH\84]IXXP?B!"%:@ %4+>(LGQ @TJ M-.M$GZK,+JJ0Q2EP& %0+T62 DF^=TV]6T0C?H&_4%'K^K2'52646$V,]J9! M5&IAC#_RY97)XN3E/76 ?H!^@'[/0;_;QBY^P<%< 5>]IB?FX<#'.*H_Z^+J M..%@W 41G-P"$$R1I![Q( 2HVPMR]&_NI+\'2=V967%FO_TO7N%H49X613E? M,P)KL&81;"R,UFS\"D^\]706QDXX&?0@N?P=QU?,C8J@)P*D,1_YQ]< M5Z_[EVVA<=!278&&+DRRN)96$*!PP## ,, PQ+C\/[ MIS2KNX',$.A#A MRB*OMB3)4AA"[? ML_IT\^>Z'SUYO"JZ'22P3Z0DN$ZPD%5LN])1J[,Q*LYZ26J"W%+)2%"[98Q^ M09VP_F>#Y7@L_S?Z8W^?L:DJ;LR- MV=O#?,-"_%!O,(7A?UQG\X^CU[/J[L6"XM^W_MOV1^'=1)-I)'_^W__S?CK? M8YG0V#$=]^\]TM[-\^W>:$(W385&KJH8D#*-[ORW8H;*QML;:]^;?\S=R>1MQ\Z7M* M\V]7-:.E7*GQU3]<-UDKWUE<<:'^_.7U2^W[**EC E#V8.Q.MEMTJ80SN+?< M-*D9Y%/8H"DC,APO@O)NI XQ@CD>JELI:([:5;52@ M*!*GLG-%J5M;2F*CD<2/(\?C177M5$>A$805!W)1U,#E>"3]X\BNRT!+1]\L M850I>VR U2BE&Z/FX#FW2HZUK= 1X2!7*&LV8^976F0E'C[GJ!"@XW;7LB2U M.A^2N>$LI^7#:.3!<\XYGQUQV]J:UQEXQ??SU+I,-Z.1!\])=09STRZPFM2K MKDBF'J"FMHY'(LB/0]W&(F]A-65K6.,R6NE7MT6L%4\)P7\S+X:%W&2.(Y"!$G)-R95LAFVQTQ1?SW48+J@&<) 6DH> M5AYP1'S-P]F+_;[:9^NSF;3,65Z.U%N<4(^GA!P\Z=(?D()A=?.2SI3#C6>@ MDIK,_E!0*!XTAP.:5PVR6'7FLE7QE&%3Q@\%Y=ZG T;AFP0DY)9:#*"T_59/+PHGY9T_QM=;N%K8E4+O-TLP9UPLB( M.AA9*U+YF5]KPK R12#9:X0\'VHR?623A+/QML@U5SQ78XL+;U$2QU H)Y5C M?MAXZS951;D)SW,+)G!Z9C@OKD*9.7+WT6KB#2>,94 U;KPMU)!F8,8C#^8N M$-/RHAWT4+B';!%]-L;K4CD>>:!ZTF):04;=DLNC<[^/(Y[%=YI:-/) ]I5ZPIC%; AQ0?KGF2MAPNEQ(4R A^!'H89 MMNW4%X:Z[0NKTK(@%N@(4$?X:!?+B$"-VU,XLA[]9HZ7)Y.1%@\]5-,-3+&; MG&JO^:5 Z.0BU/!6-;KLD0WME"AC41AA&-]S&KS)MXS&NI<,/1!KV,D/2].: M6N-[Y5:_(FNC!<^$\5#LQZ&-9:%N88$P,"*,^WDO-S!%,QEZL 14U_0T5VMU MC8TPG9LUPJ>$AA8//81?=]4C'0+5)+W4JO+S8*#R0C,>>K@(BW6;1CLV%.W_ M4@VSD2)2-.#DLD@6EP4]."R7@L;C)J+28L7371# M=R4.E>9)_="#JY9'&LN,ZUR9MU"X/6K4J XW2(8>K%B.#^LMUL1$J1?(PDQL M\@KC)0]PL&+S9=D:U#OM%M]>EKLYULAUIJMDZ.&*K0?HJ%>7,18."'$RJ>48 M9UUN)F,/5F$T]0Q^WIFT8*Y34C#!:X[J5%(_X1 ;CLK#Z))=2J+*U#H9DD61^N@E?A&B-%8!T)+8RW&AHTQM@D MC+_X/EXV>O@) \,J+%,, '"HQ'&,@"P[6 M*Q'&9B$#K^?:,:NI,+ M8KI:B490'P\Q>AA8G;A9T>$"V\B,GN7L:L[0W4XX MK*LB,QLL)MQB<8)H4H%A M3:;%(;$TV=FB>OR@T:[1(\K6PJ-6TXPE>OI$&'$&.1,\R"[.N5Z3/68U MS4I<;M-SAY&:('.!<6M+?E1K'K6:&A16F=J.-C&6RV8+%]UIV7>:QZPFPZ#X M6;XP"R1]@Y8J4*W7(:CF4:N)[D:@UNVAVC&K:3UAY8:(EP0#M2?+QGR ;G,,>\QJZJ_<#5;3"%/B^)(^-Z>+ MS:JJ';.:Y/RH,U5UIV^@)90K\E9[6[2U8U;3?,JLEJVP&SUG@W(,:#;MDGGV MF-4$87(#SA6(FM$K(*-)OCQ 5O/PJ-6T[JAM 2L$,T,02W4>W_1;9+-YU&KJ M"_6ZO@@W,UA9=]VEHM/PH* =M9HJ+6^5KTV*?6F3H]91JTE4-ZOUNAH90$NN8Q]1J:DPK&)RCO7QD-06; MNH*Q:"-DCUI--1+M]]:LJTEJCF+796%M./W$NF%^'%J:E+?T K4KAB[D_0,<>Y)XJ15F,T5'YV3X7$#"QUR1K[)0DN#)%>K?A$Q<';: M/&Y@8;"VU.J6PO&H01H:.NH(?NZX@37'1]N65M=:$E=4%R.K4 _4V!(ZP@"R MT5@YO;:^,A2I5A?Q;H_*F1\-K&-.R\Y(-OLM;=2=3VF^787KNM97M"'"OKD@ M/WHM?STZOL_O.T:/WNB7OQ*K5>)"_N9JVT41QHYI*M%'X-_[O[QW(Y$+?^]N MB_T[B4_=]C^ZP=Y%&=Y\8(<.+=_=WW7OC]KYH#X-A)R6FO[.(_7N^DYTS:GI MA'N7UO[_DS##WSNO81@)X5-GW9M'-;GQ?J@R\APS\-5;>^[>_>9O^)F_NU\O MG!0!5N96*_-9.WNP,K=:F=U!!+ RZ5L90+.TK@R@65I79I?6"U8F?2L#:);6 ME0$T2^O* )JE=64 S=*Z,H!F:5V9Y)0"6)CT+@?9EZ&MR?J M)/.__QZ]/N+AT*^=/WB3P=@QXQ_^OQ?TY8OR8/XBD?O2C:3DS'-HP\'LKZX> M]%_TG:'C>U6/Y] 1H!*?OTUV11* /EQ*'VYQ[ODSA;@<52_S)?EL:L/\VN7Q M6%KS-8O]X_%Q9+'.) 48KG%Z_.P,+@?FYG_^"R'A_V!(=O<7%$;1>V'R47E\ MF/UN3H=_7L1>?R3-V)AQ5^.5T?ZXGH\M8:D!7TJPK5\(&4 6@"A_L]4=2 M!=&?G=,C=%DS/35ZP!Q61KMO-4AJTO_ @R\:WFGK[=%25ZH=J.[H_XZ);.Y;J\NNQ&<1*$==)B_Z; M=)3UD6)I!**29 GB/3XH]SESIO?&6B<^N8R]O#)(%D-!3T> KXLT803X2A^^ M3JJBO^[BN#43(!?>;(O+SF8[0292\\87K$L12( : !H%V@,FV*>@;ZO5^S[>O\:_M-&K2E6 M\32^LKOZBJ]V-ZHC0=TE"0O5<;4T_WK;K/.\'BU"ZP]PIS,QE"G2M/HHD5N& M2@L@IS0B3UUV=#D"'FQV:;EYDU&YG46+=J=0J_4&<;M>K"X MJVP6@4%:'6 3R*U[)C;=PM/[:T@A'0+/]T71,@*UM>FN4'VC$#&DR#A3#J= MIAQ@%,S'JMO[=7]-*;VK3)5$2YWROS6\J145P.WC<-YIY>:41'+ *L JD M]H+4WL=-[3VW:S<%\[OO5_*9O;F_?OW!>J/$;%>0)RFB..VPDC@V,"U^,N+E M%<6S&'U">/,>TW;;JAD-T+(93;4C^\;,1(N842:6;NN179(4O\ZHZX5J>R"E M%P1R04KO(W^?7-&_^X8=80<=UIZP'Y##[XAS!-1J(5SH?6:N2R)*5W,6VT66 MN;C].O;R2F9A@@99*$\(K^M+!639W2OE;N$I_C+N*APW&TXY[@+)[J(6H\-LP1H;W@*J?YVX,L:+ND-M!RN*,(U M)S>PRR!1P&VF8@@&.D=J.#_@T+ $@/QSDA]]O1.'+ M\,#:!7TKH6L!M@I]Q:H7M_4M%W_4)45"X"Q#GQ!O?Y#$\9(=&:=JYI^FXWG_ MRDQ=Q\HX.YLW>D6 [(*'SRZXOB! ROD=?;U>,23Q[6%W2*I&0#H6?^@MIYJ2 MAWA)+2 SIH*L>E@_C,42H1O/PCA(E0(PN[I?+@6" #!+9>3A-*HIZV!)K7M( MCQ?9E=0V"E;HH6PDGR3,0-$D@!J &H :@%K:X@NGX0US1Z6!5:;S!IE;+-?# M>7YMV['1QKR\ K0!M%T[H) ".?R";#&I_IDZ4ETM)G <*9&@HNL<80L:Y%J\ MT% 80U *?JLX*GE52(OF]O-(P+_ <8*'/TYP$[]62EXV]VTUG3E*<)J%8M7K MPW6C..U)O?9L677Y\M2Q$HK$(0$LB\,7JR5SVWV2-%;-Z.^C -F,K9ZOB,RS M8> >$CG 68,T _#A'/LQ8B*KT?E(XE_$9T.F"Y7J0B!M>C;:&(?H?+AJRG3L MX\R8:J'M:- "H>YK='W?OJ/WL)?Q3!\N2)CNNC-94:9G/ M]Y%P4MOD0S9Z&S/1E]&E?"L 2VG9J:#:] -]-US/B?N[-G_9+!1%?+.I& %> MDI1!)X^B\2@R:$+JN*[$!21]2Z AFE M06$1VR6QRY: 3SB9^Y IW",U$KFZ]^CZROJ,=6-2-_441=(_T@6+Z#)Q@I&I MIH2E9^J<>SQZGKZYWS=:'\T#_#WTMF_OJ]M!].SBMY,FN81:NW&=F%G\VG>5 M2*UT6W$WR?2C=T,L0M=)3OV4(F&ZJG>T\._8SO?1A5V#]4T]+(HY.W#LILR\ MI8CC-*C\"T!Y45#^-($R?7,'H$QEVOAUB>G"\E""^DL>)F62T.N#'BW";$1, MD'X.@ F "8!Y3Y&.ZZ*S9)8XMT9Q>5ALK.W)5BL[FU5L;#(OKY38 M?(#O\73&>Z\6*;DLKGX:U2VTW7H-Z4Z&\*86"E-?7A"%3AAQ:Y1(;1V]9]#])B_LB^>[99[T(MSS9KH.'/,^N=R^?99@TT_'EF#33\>6;] MK!K^G$;*$RXUR!>]_62!)^/ D]%1UF\9HCG55H_W%ER62D1WNVXAL-*A_58/ M(FI;*Y01.'%#,%GRE/CV@^2*UE7_+344Q*! >:4'KNU[>R,!; VP-5)95!%L MC70( FP-L#7 U@!;XR[J5=Y^9P"%^&7>2/IROBYQ_NPX'M,W=^"J>>>J:;C. M5/=_4GE1;H5$23QSN!9%$4?,T<$A&9 : 8DD - M!QH.PNM PX&& PT'&OYLLP8))$\SZYWCXMEFO7-9W.FL'R3G@;6?I]5D=Z_R<5I MZ=M[G/4\U3_:5[?=,^$Z)==A@2?#P':*RF8:R@B65#8B08$.@#R /("\NZAK M]-OPVY)>99%W T02\N8,PHJ>$+@)_.*VNR>DBE02SW#F HOA7!K'<-X?.'#+X!"6T/,U-*[Y.\ I1+DJI-4!+0,OKQE?N05#@"$$*X@+WH"BW]U^! P=W&#WXTKM>*,*#):/! M+$_*CN.VU:6W;B?NHZ2TZBEY$O=XZ "4+ ,ERT!A5:#A0,/_Q$?Q;+,&&OX\ MLP8:_CRS?E8-?TXCY0F7&A16O;M9/TBF'A>X;I*3EU0] "$"$"( M533Y*)D M/5FG68@X>.N:792&EQ X667'TACR3(( M6,$G.A-P?U#H\1.L;:GI1&L665=:KFAZMK+"HD8U8ZS%&6](EB$O?P 64 U0 M[3[F#JCVQWEK\&B!61UBM_R"C3$4'^ZGT2R%G' H%R3W/6MR'Z@/G&82D:5Q M?P-K.&8(I7JCM]Q6>C;T!YU)/H&)Y8QIQFN1DM0.VV6\NS1XTDALFC@5#Z/H M+,(\: W@?93 U)6$%?H9VZX](0M!'290"OB>OSVO&!^H?B?.S\D\[3H]WJ;0 M+;_)J3V55PF=HC49H9,*P"B>Q5!03PYP#-3+!!R[>63@)* %@ZVT[#=A!.Y5 M::BRJ@U+Z_A /)WTO".R,'%Y_]FS;5S ,\"S.^?9;6,")Y%-P=;Z$*EV"O"F MJ-:G1HDG1GH8DRTN^YMEF,MGNU&067IH2.US4YQ MH=.:M,DEIE4<$B#Q"Q<;>MKD]O3MM-L[O$#%W]0% 4YB2+F6QP>. O\TBF5 M&H2G:@Z^8P@163$XFH61$\KP/,@1 L%Q)J%NFB!S V1N@&J^CT/61PLE[#EU M!.CC0E"A^'8EX-NS1M&O5>8-WF9EA$D""'06IT -2D"]%$D*)._>-?5N$7CX M!?X:MNLN5DPU;W!DM]K"YYY)*O2<+ &A3S'!.ZR^05'KOF43H+8P^:H]]Q?,5\ MJ^.3 GCH./YE+?'9DZ@N$"5U_/2A6E*JFC$=(3QZL%IX61$)*R M/?'!2_H$# -V 7:!#-9G8M?M:O4<@1ACS379#;<^K!;F7<@TR;4<)A C7UYQ M)@LSE_>+/]MF!0P##+MSAJ6A,L\1FC6[LUX1IP)4JIAKJ^K5BZ&.-&.:,2^O M\=EU&L ,P QDWC\0RZYG<*:S%TW@KP,,R% M^U6"A/O4;+#;^[! PGWJ?/D_10?7,?R>-IL*AE7'QY4EO78J.WLEZ7R'8EF8 M.K7[W;]])5KBUV1T/#?=#I3=\*NK^KO?C/[Q1,7_X;$3$0FN$RQD%=NN=-3J M;(R*LUZ2FB"W5%*3L=T:1K^@3EC_L\%R/!:YQL9/E)D^KM"[4?N="9\NG61Q M]U=YV]]CQS25A:?^O?_+^X4_"\=+.DW^[:IFI$DK]8=KOI/]MZ'**#(Q E_]8>[WL7'^'4WNVY\7_8(! M*W.KE?FL.Q18F5NMS&=]-L'* )J!E0$TNX^5^:SC)%@90#.P,H!F][$R@&9I M71E L[2N#*!96E?FDU[)8&%N"#.P95*Y,I_UG 8K0W\2 M%QZKMJ^Z/\AE].&NX>XW1XXYB?ZQK:\SM>C',R_#VQ-UDOG??X\>,H_KHPQ_ M,X]@[)CQ#__?"_KR17DP?Y'(?6E&W,YY':[Y8%_=#8B>R6&>2U.AK MY'6>G<'EP-S\SW\A)/P?#,GN_H+"*'8O3#XJCP^SW\WI\,^+F.>/I!G[PT- M%;YDB %5 *H 5 &HPD=S_)%40?1GY_3O7-8*3XT>,(='$N];#9)J4#_PX'2[ M^I/S":FKJM=25ZH=G+$I=>IFF*)*G+<5Q']?LF<$./OW\>Q?/G"3 VG M_S"YXWP["HC=OIR5[]2=+=;A:$,5)] TSRB%+O?ULXAO&"FXCA5-RX^%V-/] M&1?=VK%4EU^/S2!6BOC,8O3?I*.LCQQ<+):'[4ZI+KM2I;0<$(S4'3A.?,HN M[B5!$5D"O7R/PS3H-N#7I?CUT_KG@%_IX]=)):VV\!!F!+^RY3FFVJL'PC:L MYK]>C^$\(#.A5:=1K4Y80Y37"Z0]61HE+ 89^?)*8EF8O'P)OS3H.. 8X!C@ MV.^6M9I:]3$%EV',4"=]=EO*+]P^IX_G58:-7H])[P29)S*XB@#:O4"2IVWG'@*)@LHE4IO\F>X M,D)B( EU=L6CHCXWN97HA7R,*_+EE<"S) 8JBP-: 5H](:UNZS/^C%OK3;7( MLL-*%];Y(=T-"ZX)4S&WF)=7/,LPEP_3 VRE8B=?"EOW_25X=L_P$VK[01W^ M%&C Q1P?MTVJ?\27])F]Q)^]$#D!&HDFCD[A96525+UFIVDF+\3$_PM369@X MP91_W#1CP74\+[-PG:GN@XCPPT>$S^T43L'\[AN'C^8'3GC22'!RA,9MD<\Y MK5Z5,:PV@EK^,!>2K5 F=BUTL_"E.RWU]#:K'.-;1\ MBX2-C9!7C%+)Y-HT&T&*C)M*XB@!& 48!1CU1(RZK<_WU[1"? G'C.9F"ZM; MNK2>38O&?!S3BGEY1;(X?OFP>AJ4&-#J"G[?%$P/) &GP/N;-D&7[\ A9Y9Y@09S?/"O#CV&$ZDF'K\ HP]O!B594CR:1)\VZH9#="R M&4VU(Z/'S$3KFE$FEF[KD;&25,;.J.N%:GL@^1=$?$'R[R-_M%S1Z?N&'6$' M'=:>L!^0P^^(\7<+?S'7^;=!JE[PK;KY(U-R\YM&H@WH["8=^3+*YIEX!,L58 [ M@#N NZ?%W6U=T5\&'S5HC#AT#-$&RKEKNNMTMH;9C,"W\U)CP,X#X+L.^,#7 M[ VXQSGNPHDNHM9CTRQ!VAY0>;M1DY%2F2>%GJAXPSPSJ-S@2]3P.D-MHXIY M6"\K96/LEE!8"2- (>C+*Y'%\0N;9B"7/"V;\<92 4GGZ0](?)DR4DX<:.:: MVTI+?"-J1HW?_*3%W'RC@[BSEZ MO8!\A8?/5[@);>\NLR&-@'VTB,:WA]TAJ1H!Z9C16,K1I#P=&[RP76N%L(!4 M2F(S%DOT54MF*1JDLP.87=VKEP)! )BE,FYQ&M5@:%KI+I'J!N9&2T7NSJ4* M8L94BVN?9 D$9)0"J &H :BE+CIQ&MY&4 ?W)*])\IM*#YDPC*&,92V25!R* M &P#;+MV-"(%L"902R7Z>=@'1U4E0K1 M(#4[C.;V\S#"O\ )A8<_H7"S,$(*!''?9M.9(P>GF2@8$HY11-O*4@6GE7&3 M"O!YF8TI0B2.)9IZGIKE2?/7C/X^,I#-V.KYBM4\&QGN(3$$'%](,Q,?SMD? M(R8R))V/C=I-K, OX8UME=;D2N!&E";3L=^?R)(,!;+9 +2>.#OW MO&>O;Z'NO_X@!OI_DIB>>$.DTVMR]P[>SU[4/_7+- )O(31''1*N.#@;#!DR M[U?"Z(W-O+P>MGP]DTL&@"NUX +EL5.,J>LY=[_,DYS!D/U)P<[SFT9^LEHL MFO5"NQGQ)/;SHED4/BP2=SX_[Q,:_ZE/% =%Q]/LL3BW%_=W'0:F'[H>W-1Z M,,<2:SZ$W!!B8H=!4J,FB],GQ)V?)>U[I$;KH.X]OKZR/F.IFM1-/47!]X_( MP2+D3)Q@9*HI >R9.OT>#[BG;^[WS=M'\Q!_C];MVQ'K=A ]N_CM=$HNH=9N M7"=F%K_V7252*]U6W$TR_>B%$8O0=9+#0Z5(F*[J':MHQM74O"]Q6!6VA@ZG M*3FFW9AH,I-424>S. 6RE H+PK*GR9=IF_N )2I3#6_+C%KQC#ZO5H/E2JJ M[K#E7IM2NF%$3)"R#H )@ F >4]1CNNB&(UR6T082BK&1NB, MT^$O7X\,9H\\:B9^Z5M$9M]#X'[39&[/SB>,X^_"+\\V:Z#ASS/KG1OHV68- M-/QY9@TT_'EF_:P:?@LC)6UYVR#3-$7)ER#3]+F]'1UE_99;FE-M]7@;1,]% MA%$=EVRIPH6,@^N.-AF&,@(GK@HBB],GG$I]W!S3NNJ_I92"T!6HY/3 =81O M;S> K0&V1BH+.(*MD0Y!@*T!M@;8&F!K/$!IS%LY9M(@F=MOE>/Y)^G+';O$ M0;;CO$S?W($[YYT[I^$Z4]W_2=5'?T'F-SG%W4@ZCWB5@&ZKW5Y31I!=V4<\ M2U,GY.,^2+()B/& & _(1 $:#C08*UG&@>V\11DG&F&=WV%5O31R8HS04. H/27#_U:)Z]#CK8)$^] M24"5D?0+22@@#"H0 Y 'D ;L ;!)012?->P2DS("4&9 RD#A*W]]0?]#I* M@UCNFYV/5C?_/8&.H)J'*[10" @8[HU52*T$4X426!G!DTKWQ.6="\^V:P', M3NXOF0:Q )BETHGZ"=4Z7199J%IA(I%%9=7I%L.0[V@QU>)J]"0.J :H!J@& MJ);: O2?\&W3;E5:?;/ \.H8LCU[M>E7ILV8;TQDM2$G%$0%? -\NTBWW31( MY>'Q=K7"\I]PB#,T51-PQ),VZ' S@KU^.UB%,8>2)KR7Q=#3IJ2F;\/=WA-V M4$8M#6*Y;PZ=.8KP"4I$I8B.Z@I=,Y9T16BTVU)?9Q*3)HD99&'LL)_W$^7_ M-MRXT[&_R686IF+[F6BI,^HRT!2'RTX ML:=:(V8::T_X/='8/=".O"G4H8@J&,WYJ%M"&39Z3<0A"P([H<8F M8"-@XY5=@/<@*<#&5,8ZO@3)(=_K=M"A/#$JR%CJ(@VDU"II,23)EU?\E"HV M )( D@"2 )+W%CKY$B[G##LN*_F2)Z&T[\Z=XH(P\##&9=R#EP:T!+1,CZ3 M60-PUN"1SQK<+(!P#Y*Z;_OC_,4\?_]=GR\(KK_*N;Y4\7V:%ET868K)NWX? M:3AL6WT\TO!O7XETX0J;(EE5^OC*[D;M530><.J6B>88+YUN!\K;) ]_,M%7 MK_\;_;&_V]A4%3?>3[/_?+PQ%M_YC3LP_(_K[("Q&O<-W@L*Q;_K_YND4&0W MU60:R9__]_^\G\[W+0^-'=-Q_][OZW?S?+LWFFQQ385&KJH8D#*-[ORW8H;* MQMN_EYF_<&0?A_S[&QMBR600^"^4^4?FW=]C"1V(UU+6T#LAOB$%,M5I-/G= MK^U_YNXD\O9#QTOT_6]7-:.E6ZGQU3]<-UDKWUE<<:'^'.J_U+Z/DCHF "79 M\O*$9G"2QBA9G:J4C).X*M,DBLMO'G;B\ C$S^.'&.5:BD8HC->GQ-V%7%*)H?$UZ1_'!D!S#,VKMJ7 ME$EQZS:GL_K88R/Z'CSG:#[HA-!$XPU]5>N/ATZEVL.:T+8DDVF;@7FT4.NWURM_DM6CDP>Q='YE:HFXW#)39 MXF@5M:RB%X\\G+UO.1!49XH&ASNB"7.+#3ML1B,/9C]4W J&5"A:(JFE$ZX< MU5B%833RBBH'#DE!V97@]LK>S1;UCF*:H8R?B@HHSMKE]26UY9ZFYPUJ#?7FV9T M?_S(_?4^Q"_:><62Q$6AKJU+]= *6)DXO*A6',I5;5F"8=WME,:S?#!8^V$T M\O"B$Z[J3924O%0E-)H\LZ;AJ,P-OU;3^ZWH"<9:9&P< MC&1SJJ?-",HTH+EBS5BF,2PHH4P?CFQ0S2:[63*P04[%0HOKB(:EQR/)'T?F MR[JZ69?],6QA^1[C68NV7V_*S.$U.TQY/C9\2.6MS8S@S7IC5J3C!O8'Y?=S"G32W/ M2P0\T*7>N$?R772I36TM+I1^.'0K6_.JKB]YD9YN"8&3E5HA&7JHIJK57Y0& M JGP/;[/AOB2:5)&,SXX>G!9:J%U-J/N1 F2ERU4B-QMY20$5[,>A\]&LY.2,V2 "FM.E^\Y27,O) QPL 54R27BJ MY/K&DN>*(WGK!86J%@\]6 -TL<(F9F?J\(J P;[.JXR[3:YZN A%K0?W&]*J M#5MPM;YNYVKB<+X;>S"QF5R9Y1MDKP97VBJ]*+$CM3Y,'N%0M%:!'N-%HU#D MR3H"Y5'3#F>K)+_F0+2BH>$NLZPS,-J=562G8!7[9F(@'PQMXRUJ8+NR(/6P M=DB3@9C?5':V]/YI?[ I=[\YDLUHOXZZ\RG-MZMP7=?ZBC9$6#D>&O_FL=\2 M(D-M(:O8=J6C5F=C5)SUDM0$N:62,9_C\;$X$Z/\FX&W^X"+C#M367CJW_N_ MO#=>R,A >;-;8JLB^9RQ_8_&U[L/O#?+Z]",\MW]7?=6T,[R^?2S]+3SRN_L MH'?7=Z)K3DTGW!M2^_]/OO#^WMFJ822$3TW$=Q\0WX8J(\\Q U^]M;WX[C=_ MX_OFN]%_X9QWL#*W6IG/JA*#E;G5RGS6WP&L#* 96!E L_M8F<\Z'8"5 30# M*P-H=A\K VB6UI4!-$OKR@":I75E/NG1 Q;FAC #6R:5*_-9:R.P,C=TFP$# MX)(K<_H1\2M5D:5_*\?I[:ZC#W<-=[\Y>1G>GJB3S/_^ M>W2.),G45?[Y*,/?3!0=.V;\P__W@KY\41[,7R1R7YJ1G.Q]#FTXF/W5U8/^ MB[XS<'P_W/@<.@)4XE.5>#O*!?3A4OIPBR)6GRG$Y:AZF>_(9U,;YM9-B:^I M-5^SUS^>VT$6ZTQRY/4:QW;.SN!R8&[^Y[\0$OX/AF1W?T%A%+T7)A^5QX?9 M[^9T^.=%[/5'THS]0>K'485?3O?G>C*ZC*4&="7-NG(E; !5 *KPP5Y_)%40 M_=DY/4*7-=-3HP?,8=GK^U:#CN,KY@\\^*+AG;:R"RUUI=J!"BJC7J-4RVT% M<:8>E<>+JX!"#[\N]("^+_2 WKY2:5EJHU.:*]1A@>K4B55ANF0$[ODZJ)+G)XH=VOK^J&I96< M=A&P\Q -+ZNFXY1\7PHDMVKE MU-4J+\2F&?/R2F4)&M0 !4"[1-'.%/,,U.2\8DW.^]?PGQ;13+&*I_&5O:T% MM+QJXZJQS,ONTJQU&,FZM<'?S/ES8S.#.5ZPZ/YB@):9VBRI8$;$51;I+$:? MT'@E=?O3IV"R M@%*I=!U_AJO9%+-&PSY$PV1[)@D-DJXM$"W"%?GRBM%9])2ZZH!6@%: 5H]& MJ]LZB#_CELLL9B8\\UO\LCXH8H$G;IAJ;&8Q+Z]$EJ( M@"V_MCSF[:YWM - M_(3:3J50 R[F^+AMNOPCOJ3/[!+^[(7H0XUY)>=ZDJ$+CE4MS:E!+GDA)@V2 M*#R+DNBEG+UIB!]\V!F"ZWA>9N$Z4]T'L=Z'C_6>VP.<@OG=-_L>S>F;\*21 MX.0(>D>YU5@.:E*=;P\B4VW7],J M/VNM)R7+T8U K_?$27TD=^MQ\T$F[O9+(R?D+0%: 5J!]%Z0WGNOZ;WG]NZF M8'[W_5(^LT/WDQ=@$R=K"NXU>;$G$#.EC%(#5I-W_>YQ/(N@Q&.F[K95,QJ@ M93.::D<6CIF)%C&C3"S=UB/+)*E_G5'7"]7V0%HOB.6"M-Y'_D*YHH?W#3O" M#CJL/6$_((??$><(J,N$EM/J1L&&=:?&.9IDJ7%+:3+)]T6R)'7Y4]6 7JG8 MT#>6"LBTNU?,W<)9_&7>+6?+%=4OJ5L80CM*T-3AP/N M<8Z[<**+J/78-$N0]@8H$EK7RBL871O6O"(M#%;3:MT; *H&S45\(-8I(YC7 M)QTVK%<'#AL!"D%?7O$L33*7)13($D_+9KRQ5$ Z>?JC#U^FC$\8=$N"*P2_ M&;NC&C*QE$8^H4Q25"1+$"=@YD'2S$MV9,>JF7^:CN?]*S-U'2OC[,SCZ%T" M,A$>/A/A)FB]NYR%--+TT<(7WQYVAZ1J!*0C[%X$.9&P@E:>UW,!.17M-N>7 MM%@L$;JQ+(:#"K 9E=WX:5 $ !FJ0Q2G$8U:SZ%B@&O>@;JTWBCWB[5.F1, MM20B0>.@"BR &H :@%KJ0A&GX4T5M9%+YN4\+Q",RGT21G/[>=#@7^#PP<,?/KA9T" %@KAON^G,<8+3;!1;;C&-;6O>X-OHENHY M^5#:NK&-D@0%T"Q!GE "X1Y/*R2]6#-Z(IMLQE;/5VWFV?;_/21[@",):2;? MP_GT8[9$YJ+S$<$_#\W2IYX_W4@>4NWE1E+3-]>&9=CW_\._"I^C S8*BS22^+6P]4QPA);<; MPR?V$%,7#JZ#G/*T[$!0>?QN<'-N%_#O$J.\'N9PHEF<\.2L/FM+;:G?VB;$ MB$N19Q'XA YH#YDA/E(CH:MO[N*,KZS/6,(F=5-/49C^(U^PB"\3)QB9:DIH M>J9&OL=#\^F;^WW#]=&\S-_C>OMNP[H=1,\N?CO(DDNHM1O7B9G%KWU7B=1* MMQ5WDTP_>CO$(G2=Y%!1*1*FJWK'RIH9];E7JE5J30)7'+(RDV2@ MXUF,!/E, )07!>5/\S/3-W< RE1FI5^7F 5SVVVTNU2/5P?>HF<2@]N:RN:&CD$C/%AA,XD<_Z$^KD G "< MYT^63]_403;];8#UTZS\F>A"N2ZR5@W.&IJ,RLVMG!*3:Y>53S&'45^0E?_X M6?F@)4#*3+8S1UJN:QXA?<(65;R#\+T%/\#ZVP('%V)?7)*TCV7)1TW:+WV+ MO^P["=QOKLSM0?F$(?I=L.799@TT_'EFO7/Z/-NL@88_SZR!AC_/K)]5PY_3 M2'G"I08YH[>?+/!D''@R.LKZ+4LTI]KJ\4:'I58!&CJ+[L2 !OERV-LT*WP0 MR@B\RQ9%LLP3%12NJ_Y;=B@(0H'R30]((VG$\IF_NP%?SSE?3<)VI[O^DLJ,X M%TD87RPZDKHM]R9BM]W:ADT90?;N&0JF'C-+! 1G0' &I) #0<:#@+L0,.! MA@,-!QK^;+,&*21/,^N=Y^+99KWS6=SIK!\DZ8&UG.BAMXG'(^-,,[KM*[:F MCTQ0'0LO\G%:>G;>YSU/-4_ M%EU $+)5",L<;ZC4@AP7R2U"L)J,8$EU(^SRM;Q8Z),NL0B@',/&\&->7DE0UPVP#Y0GNNDG$4AI BE-(*7I'E.: M?OM=/),GT]EJ)N4E?1:6"L80)2:KY%TB(G$!K\ M,R,B=42X?6CEH)-4&L1RWZ!\M/8#[PETS$'DPI.04)@)OQPX$*U6MA375RFLCH/"@2%;896W>C D7U]Y' =\ MWZYX0#=U4GEXO%VM0/\G'!KS WZQ;%NJH4!&0ZXWA&Z.3#@45]*_,(:>-HLX M?1ON]KZP@Y)U:1#+?7/HS$U#2'.-=K<@7/,G*F=:PG@NVF_:VC6SYP^\'F.] W'_R3#= Z6JWE,QF?LU05BY2\MAS3-H&9OHXMD;64BE%0[1)FVZ0^WE43; M5 )MA5HX/!/15J_Q87SJ;#3GC9];GWH;TSGH!,Q0],IQQJ5H+-!)E?6NSTDT M/D9FXUXR\N/V;KOC'1Y&Y^[\X)WXLO'AK]%PC#*R\Z__M+JW ! JA60I)$LA M60K)IY8FN9>XO#Q;#%K=[R?Q=N7/L5.;NE^[\?X7%)>]?_VG74K+4EH6Z*3* M-H*RC> YMQ$\6K+@*9S4T[8_UH^C>G==_]>/]Q]_--Z=3+>/W[F5Q5ZG>WGR M!X6/,*O0:=ZB#9!R"O^.':"$_]"G\0A7WO[U8C(Y:T3!M]-DN!/L'?Y=?]_[ MAL]<>OO1IU[STY^)LS@_V/MY\/'0'X[_^'-^UEI^^\;[4>NP-K\\KXE/9QOO M*K.#K_W&^*R]_,D?VW]\>><='D_.&\WFQT;\Y]')X<'\K+/BF5=[/*^\_Q^='8_CDTMY]<>J/ MI\'>A^T/@WIRM+U8^.\<_.32WJ/CK3][K>%LL^:<[=6_]4]KQW/XY H*";^W M+R]_.J=_U#XMWET>.*=R6;0'SAA\X^#\2H*B=Y[_?$L/CVH?0BGX\YW,?ES"GRT@D+B M/WYZ[RNCO1_G[JG[;5YI?G#&BY44TFB>[CM_1QM_;4^'O?C]X$.KMCG=7$4A M/[>"^'O[U\6/_RRH*Z?Z8['S^UO@Y.7<;[=._QW_WZ_UO M)H6P2-]/IB"S!M>JK*:ILIIGX<'[G2^SS[73VK?:YG'-GX[$X/C+4ON;5#B. MM^/ZCC]P'0^<7M)C\-OW;C3P@@A\WQ-XZSLO&)Q+==0_VYG^=;E7&8Z_;;O' M\8?+O>/>]N4W>+X Q36#-X#7+![<\.I*RZ&;6@_]S OG_)U^X W9! &-'/"Y M50:!%X1OE$64_RN^\@W85"+$GY;^3"]Y0P$)>.O^P_\,!S1RFOWQ#NWM@0CX>3,0P\<3!B/:PQ5O@+LX3-'B6*;C_ M_NR@\^7'-Q!IQ]OMCU_>J3T M!X#B/6<6B3?J!W.50 5OY7NFSF6%;LA7ZZQX8A2_<9(X4+\@*YY_(ST(_HSA M4LC/X&]D!*!7[?5>XW[C4"U-;8W/X7;%+AO-:O=:N-&A>['B^0$\*?TJ>K'ZJ-,'89#$0CFQM=KK M1W$\[V=3P^;T?_]A%.-Z<-#R9A[K9NK55JN\F2+>3 ]65]Y,$6^F4;VV0:2\ MF,<39NU2F!7R9GK59FD /.3-W+$P_$9;^1&/H7N'8WA0J_0?GT'WQB/X__Y? MO5-[N_S?S.[ +\,M_]^_&O^ZKV"L53L/V]2X/I$Y&B1M"=*R.=-!O>3EX4K3-KU!\%46+%S:85B!.N* MX'\'PKV@P#=9>"ZF&X=_G&S_^>G/P_%9$]OLZAV[VVL_ M:%UT61:=!N@*=Q#KD0W-@LC_)R$;ZEHVC.>?/Y\=_7$VKR4?+WUOYV/P?K_R M:V7#?-+\<1S_-9Z?_MP\/^]L=)O!7PVL6T,XO;;=;*Q_1'TA_,TC9V[!J0IL M 8S (+H ,S((%\_1D_R%IL]+V_5-B(MMZ/ M9CC^O'%4.=_:]-H'^X?!Z=X.%D>BV=.PN\U;@,X4-D)02':X*0GY/'=]4X+O M)0N!M=LZ=Q4"XU'4:6]]//QQ6GGW)? __]7W1??+&<,%U^U>K?E0]DT1[.$< M\A1'?\3E3/A1&?EY 9&?%3'A,OSSE&T?R$K-2QNZV''9%71GP*'/%9HTPHPSY%,(5N*Q,&7[WI>'+6 MWC]W/^]_A!Q\,-N(&)T;W/;<:" \S_%%D$172\3.A_IW[WOPUX^:)E'1^.;1I4ES"?F] *?R)*3)@UE5=Y;'B]'V M83TZ%XZH=$]ZTVY8^P+2I(/2I-UY(9$F11=6N[K1IG>>!+'C6<&*5NHR!/4+ M0E#%PS[Z==5)Q=O[DY"JO\)&NUJ0=D?AEA__7?]Z^G,W/O@R[)Y]G_Y Y!DP MRUI-NW4;9*O50T:OBL=2O*V@JWMZ?A#CY%4;:U>+D/-GTXLOC\\6YVYQ] MC\^='R=;(8(/@5W6[-K-YBTF#2P!Q:70+4\6$*4 \#J;@T&8B#0E^=2@=>3Z M/[L.G;;4CG<^S0Z3SUN=>O.AP*%*:)T26N<)]6^7T#K/ M[F9*:)VBWDP)K5/4FRFA=0IZ,26T3E%OIH36*:%U7AZ21)' 4IHG:+F\Q\? M/Z2$UBD%8B$+YQZ?-4IHG1):IX36>2(%+4:>8A!,,5%!*82R=N79MT^5P#G/ MI_)$LO#V=.8%"R'>"5^,W.O2QE\.A^Z'RK3?J37BQO=:L)/L;2P4:D[3KG5+ MU)P7VT-5HN8\GQJ2.PN&5FL['GZI;TW.DWCR=>-'Y'H.#87#EO*NW>C> E?B M*?J1R@B:A<$/,8CACJ(U5O"^/,E6 N:4$N[!,0,ETQXRSVXARUXMV7H-I_FA MW>K]7:M<=$XJG^H__[H\W63$G%;3[CT\4.!+XX<2,:>4 K\ '?!.4N#K]$OC MQV#C[,/Y8A"<;5S.I^]^A',)F;-AMVX#'O%,XCZ?A1,)RTO+.\N@S[,/^CQ: M-WD!#N))2,B'M).(X8UR[JNEY+3Y_8^S#Q?.Q_/*8=>Y2#Z$W[8'FXRP4[?; MS3(Z]&*C0X_605Z @W@2$N0A;:S;2Y!@Y\O?X1_.R7$MZ3C]O=/=\;3GS!F/ M!R1(YYDB+Y=X/"4>3XG'4QQA^,"]WDL=:6QV1Q];;5J M>XLO#,?3LVNU,OI4PO&4<#R%%B8/W.E]!V'RY:].;Y9TH\JYNXC&P<7W3^/3 M9)/1>.H-,*\>+$M7!#-\!1Q/9Y9B\3BYONLRK%7B\)0X/,43IP]=#74K27H1 M?.X.+NJ[S=/I8O'QXE/VW-B:.$.K+X1O.=:%"WAZKE M/7%I#4(7/@]F9S28B*FP+2!W>'HHHL1#J!_7MT:ADR"DCA][BXKK#Y,!0@ E M<1_YW9J[H;#BT/&CD0@C*P[@X?'$#8>5F1/&"S1GX7-QU=J,X"_\7 4@)'!. M3'8'KD\HE$/XK!=$$2UV-@N#2Q,=A+O^*!0_$UCW;BRFFY=N=.:,+\]VC#/:Y2,Z=!93^/>>F/9%>/;QX^GE MQS_=8>6\TCD5GSH+]\/(F6>XN7W+8/85:SGU0S' ?FEDN1V:,SC%D]?\W6'^ MWG?"\.S[V;LP&EU.&K6?3CP9'/W]\V@#U#1"&%LP#_QQW0 $#@BC%=DR(=H!.7/H8O(5H:P1=B(D!Y M#HQ1A0>1(;XKZ(V6;EMPC2X_E#%1@?1& I88((^,A,!YA/0 9SP.X2LQ_$3' MC M[V;29SCQ(CVQ'&),M30(<5?KOWUT.G"_;G_K!G^<;S=/$<<;_^D^MVKB2 M "WJ]4?9%J"(B5A^T&5-G$A=.\J.7R,Q5N.4K>U:IE]_=$[BW5GM]-L?F\'V M2>LXG'CC>U_+%>O9]2/8CS\0<&U@N0U77]?FU_'7^=];/_\^[5PZ>P?;D\[E MZEZM>BOQ%;P4Y@!R409'+"AR\ M=/!+'X M+ FC9"73HRD92W9EWL>'Q!Q:T9Q*H@$O@+6,$B)+W&Y;OHA!Q\432T]M9R*S M?Z%J>A:$MB_B#Z Q/L-YKR2Q#3](VHVMZ*_S9*?7E-1SK$*-I0T(QQ& Q"9(HAO_!DR#B$T[H@QL2 MX5;I6Y%[:4WA0B8@:GQ\198\V=C-F;8.[>BLWFVWZQNM_EFM66^=M8:]X5E_ M5.N?U?O=>JM;&[0[/0=LU'\[^AL?O?-ZJ]6MU^J=#?F77VYOUI;LS6M[2G=/ MMO>X_[91M?8V]S<_;.]M[Y^@Y5S?>'MLO=\]WCH]/MX]V+.MH]//Y_01PX.MX\V\0_'NF_U,0X$ M [,9L,NA&PT2$A)6E$SA@_#@B"4*6-(^&D.6PIQ!LMH,QXXO$0MV_4&5)2"0 M7)3T(W?HP@/$2OEG:[G$EDLD)9<;6L%,L&Q(B16DK1#T#4VV%GS*#88KJ9<^ M"3\T^"W1)$@\]!3@70[Q$C#*C\1G048"\#?W=]X$OBWQR5)BAEK%6NE9&$R& M;_*#F(\++,@@Y5[A16*.O\1W&X@W!J;/P ,.Q8C$1(%/JN@"7M,O ?6YL@.[ MT3+"^4PUC48>N.>__RL#4:2#)@C(&81O5&3$V*=\=X.")&-1800D9P1O?N-X M^B)(W,6NI[\N@R 6+_AW_$"&[6WF=?1[^IO?Z\^I.JX MC^*D.P3C*6 1GN/^_%_QE6] 2, =PD]+?Z:7O*';@K=N.0D9O^'".E:7!<H(3^[.@@ YC'0 MD;4Y(&.^WNNUT72_<(>H2!4Q1,Y(@&,8@DR4I$#D-A A1B[P9SR+BB?/(B7N MJO4-OW@AK*DS%";5DS4)3(7VK#1\B!,RRNNV;$>T/G7(LX$3B9-8T_$U:U-; MP4-")+Q(?:0",3HA9L9#]M+@MNG,8S9P MT)[ H!!0U[776Q1"/P )>?4Z[57V)%*;80VF=J!-1]%WT! +6/BJ>3Y, M)< MQ <0J8P(T1VX 7T>\&[C!+X_! KR@EDJX]GZR%P_/BO 5"?O6\*T! M:%>P''V*YDG'GJA[Y5/I"?C.) (![WGXU7@21/([E@T**'3A1S \1X#C3YPTC&Q\T#%#) M*17'\0)]+BXH0I9&&*N0ZW &/Q.7+^X)45U_(6_==W 7-@9@ ^\"W>&Q[XY< MN.W8"MWHG(\E\:5$)2']6P2N-QX#YQ'HJ,4BP'M BH1MA('W.YL/0"O3F3P< M(*0%?1J<(NI@!UX>3!Q_K*XJF<%E78"O% #9C."L@U"9&[ !6'42T_5X("0X M1LB!WJL6"JIB$+I]-E7N8BDMF355ZYB=I\ 7**RF0$W24XO4^^'7V=>CX PY M;&[C7Z7_A<2#; WO,(Z'E!L&L9!5,+H!? TR'>@KQF4HND9=1,F'$G@M _*>8P;)*1*4C&K(L88'9E/ L]; M5((Y)9F,4(EM?3@\MJW-PRW;.CG:(J8\WMM"&<+?AC_3+^D3].;&L!-@0@.(_,I9EZ-7ZK6C<>+GV4^ML![X.( 6WW.0VD_ M$<[%PA*@S7B'43*;@0D11D:FC)1T2-8*7G+$SINI,_B)&!)V0R5=C+N"OZ!= MA\]'^<>?QGPS7(61. Q)Z/)4$S'&QZ0W#^1@R_0@?&)OPVSQM@-O<]5Z5!)[T. MTXX9.?T0[HC)?0C6X86 (Y>9FMCQ/)U[C6(AR" #=4P".4I0S<.*W!F1^ (^ M,>4MD96.LOL"_A=@%U5I8$6 WTEX>!A\'<+LP<.GRH^XQBAN_E$*=HI M/($4E_ARW6@,9+Z@[VS%_3+M@U!TQBLY/K-KW(IYB287IT1OTTUXUAC30[Z6 M R,!\CW[:\VAQBW*V]MSAY7-V"/[=\4%%D78?Q-$05.T"(Q\6T!L 3<2X?)- MXQ>/XM]$R)C*9UL>S$SEK"'A<"@)3:,50-W!'I#%P=QP P&\!R_CT&(,/1Z MT(A$ MJ4J^ E^@/H)XH?;L4WI3OEG?/1B-Q@[IK$()8JE.@3TCUH[,X Z2K$^5#>PH M29]??3C21 [$Z(\K6 S$P@46CFH.S$,O(7./5@-K&9R#FAWB@EZ0,75P@2PL MYD4RH*Y-M!UH'_:(;?TBK7S+#!9KUSN;EKHZBPID#"SVJMZJ5YLJK9M6H4F# M &LZL#IH$!+H!Y;:-)K51OIY>%F]5]UX;;.;,UBY)/Q:O=ZMUHV"$F17C''? M;K4-KB:@*BN/G'YTS$BJNW[Z(@Q@#Q-RV-2:H\P'^B*>8TW>3W8Y^;0PM6"8 MA=KR835\9WNF0!&'#(6 T(XB*<6SYUXQDY:K:04.%F]^(W/SV2J,>J?:?:VT M)KG*$=@J0]8Q*\@B);:1QTXQ!]LN!(*MEFF M:,L4[2-*QF,!G(I!!0X"R)K9X=1%(SJDE:8#6&^M4E5IA]*MM6H[(S WJJW7 MS-FWD([X,%";U5KF$;UJ\_:/D#%(V(RW8,&1UCQU:\U.I]-H%*?DZ2!?1&;? MP9A!&=Q*+0PE@C%^%3ODQ'@+LXZ57T.E9_ +::63$L]=-GOX)&AT)& ^4EB^.);!SRX.TU<'$SJ5B '6X'6V^K;02 M.4.%C&,\(J38],AJ=*KMUSG%>XVY=_4R>J8-PNO0M0\.5GZ.G(N 2O&!G?%8 ME)%(M>.I$C:KQSNI19L60F1JGM&XBV./+4[X"NZ;ND$H/V6$(,'HQ#KV@>>X M*A*'W]X] MK8OC2#BWQED](NNRP-.)(;798&N"RMJUV6:]?:2.]>+T4:ND@ :0"* MX\ST5L-G<083C"\8+Q,8KU-^2S%OBVB '1U+_/L!N&1,\X:=?-,X1%=Z9+=WCB#1W1RQEGO MGQAG!3CX:VRPFV0S\;!I\.;Y[Y>87+:%[8]L[@6C$>A465=!#9,5U3!I-J&0 MR@\&LA]-9>;=,(J5O,4[3:LE6S;E2>5[5&?*PI;Q<#8;EOO7?HM NNS#&D&4 M*:LB4\EYAX+NWZO6P;)44A3C^G");OP_5(IZK^MDR^%5?5GL:&,K56&Z?<.) MH@ 6&JL"4@IU!U@YAM=F)B&JC]K=>[5Y?#V-7VV5ME.ZOY]QW'N=41OW,HW! MJEDRB_1U<>_ 2N-8*@69%')QP7V@Z.L-UO3[MS56;T%P&$0KCJEZ>Y\)#T#% MIM.R-ZG!X=]458,I3+.]F[NDZ*R4>Y*Z)'"7W8QJ>56K]EKX+&OHXBQE[!QQ M0I%2#0D2OELI3SW,1B^ .RFUINW7:]_;R@7WX;7-6OI:O-_<>V^I=6WSO4RN MK6HO^RZXH=KR%M-(R$9^:=V5'_]EBK5@V36)9&^],@VQH1XHE^91(__O:8A:N#=*U+!DFRBPNMRC9 M,\:S<;,FD.-%06;%H*F3,.6^=%M+&X;GPGI=&:Z RTB5"+>Y<3,MIY+3!\ [ ML=:/0Q5)I'/4=%)#3%I3^2(5@#GR8. 35#7HB2@R1$#$L0WI Z-A,_8)7P > MP56&_@JG0JVC,(+[9#'#"C!O08+/K+?)G>#VX59*$FE%U=3Y$839?!^YC,Z M6Q'R-S>?")]%[$"@A'1R!P2&J3N@K*3LNE8UH2);#K9<"V&N7:\:S(G,PM7: MT"0+0F5:TF)F7!F]8@7NR*QC4* E5$$8](D!Z'?F&JG8@4O"!X(L/++/T?P& M*Y>^ G<*AC7:FD!06)U!YRFKAHWM#5 ;RCJ?B&M7AWS27$U+UKBD9*K/I;^+ M99Y1A54#KN(=7B#D!58_2F-%%ZOCH6>+U!^/7+F2!XNNJ<(Q-L*,&:*CLB]@ MNTHPJL ?*^!PV%PV*43 8+44'(BEIPS2<8:,8<*<4YL N!2_M MQ.;/@B3 D=_43!SAWP=QZ [<>%$Q2R9![_O!7&;))>8''G#5VO5U=1)1,E7T M$!;.T UE!$QU ^GJ,S.*:L +S%W?-X6,-B<%/8E/B:LG%Q7J;L>OP&4[H:R& MDQZ(*[PA_^)Y9%!;90:US* ^HI(=:;\C*[$FBV$8@)RHH$\""HN-YT%XGL)<,99V M*C+ZD,"=16)A'=)Q'L>R*%J&,2*SWGK+F?9#=S@&,^-@X@8VH]*@+D-]^H]:!/*%N#Q< 3F9K\4&!1 M,IO-H%G&6/T).FSLBH+H.^QWE^Q2 J:03'%L8C2;('1<<&V8I1I:* E)OY@ JXIHH?I MFO.A,,OG%1^1J3$'2P__EU[@!9$($IF"T(T+4R>F^;R%41BTJN&*9=02NX[@ M'21FF6F_PIF" 0BWCG K-M?I2^W 9?:Y)Z-G0,I2\?ER:;5T)#+,AE^M$$NF M"D;V9P"A' K?CQ;>A>.[3M4ZU(-Y]9%D" #A%Q&D:34%C( 'X52N( $*&22^ M^S-9L35);M=), ?.$&QMV+V+I:DJ5T3GA9V7$16X([A6H]FVP7BS9I,@#BX" M#SAB8$T#7#AQNQ0ML)H9R-*$%*(VILGJ/#610J!I?A !B[CWNE M:"'U)PU5Y'HUQ6J/&#]R$B;3/K:9L6"WMLB"!K*U>FW:_[6.$[DRS" 9@P;N MZC,V^\?@H+.V(?-#>OI#Z?; 6Y<];"W+E.#13C\Y^[:U!3:?KY:[0[Y31>U" M\AR\?A\+G=6Y2#VU4CM%K#*5]4%A,CJ<>6 =NVB)**5G'7\XZ52Z0% ?\30L MJ:LF<'4H+$!;83\4*T&\.(SZ)"&^44EH>.1$.+'.?6%[DC-59*CDLR/UHORK M?,95/)ER(MH$J,B4@L08MB7[/7)!MTYAY#!0\&8RAD_) "<2L+@4 XI,?Y;- MT?M$)<2R$O;/^DUB+WS>/SF,%'0*'_-72G:K2V-+"5,1[-$2H #IS:Q]NXNI M\\ %57A*](PG2 _G-2%BHPKB##%WAUHP; M'"Q+5?$H'SI;$<60.S!\ [41U6@)- 1VB=(/KI!P@GJ?1.1IWV*]%KHD]C7BL#K[.MKU;+&05,T=1WI&5VD MJ+*:U9HU=L?.'#Y')VA@62RIH4W=S(9!6^XSE'V\::NO:O_D%L=\*Z&%,H9> MQ*8N@U8:2+?8Z4ILI2Q*!=.1QM%Q6]?$HXIS[1-Q?>!,-G=BYF+!P FP>:/? MFWQ>=49D^@"_@A2(,9)-QQ &SE#X&?VE&$(9U&D\46).4 Z!'Y<#Z*RWT@K+ ME8"CFYG&0TIH9$HR#..@CD_ _1!UTY_9[X:EK-0&#UMH-4EJ*[ORNP6"V0^6A#[E,N.)*M6']B:#)C""(]=1+)?2#-[B8_NQD32'I24K%,&VVG4PSI&UWQA MO0N0I96QLWW\3ILZ.2\1#9P.!F$L1X1!!6@) @&]:EARKS(CU6Y>?)9*EZ OBE"+_L.2F\Z!:X%LEHM.IY^FG] MQ/5BKA=Q0N#'#\%PZ("P'RX8HXE/3.LP"B1+Q\3!H,B L]D.L 9I]-2Q,?'_ ME"64(6/N@":8KY#25.0Q2_=X)IQSC7-J&%[XDJ&8T@,);(CT1@4.#J,>3QS?#WP.CRI'BV(W<)M^A?U%%,=3;2"G!^?+ M>(1U,!HYN![)(D94FV0X<9,B*#/ZD*M#[K2DV1T+S#:BVY:B;2P9ZB:>9&X; MS!:\&8TN2>1PS0=M[@- %4KB _/];O@!/JGY[THY!9_5VIDZ.4@R3B3 FI 0 M$5K>J2J3# X&O02_1E 6J B(MX(I$;)P8"FCHU\H/0O 4: M1W,7OT.4@(2#KHM1:@9;>!Z)SG:9Z"P3G8^-YJL$;]7ZAKG P,\:@/F "OV1 MPE9F:FJI+ =7R\D7"M!0Y40FB,3H3#?'&G/KL5DJ.%:,(?-8XIM(M3F4\7M> M::H(VVR7N-$3#H>L]E81K S#7N1[J"8KPI4C-KJ& VG@OO0I?[KG)E M:]>YLK;9YN5KHUUV,O8>!P#N0XS)4]@.OF=&IK*,,- #(4S+IC6 M7"(:!)96AX'M>^*JJCDV]&E9*XRRI6BTR6\&E:K#0UKFP"6\3J%BPBN#*; # MW$6$7E"LL<0<%"\6HU+/-8X4I8T8,)GIGR!(66K+39+,GH)L1P!N,#Q13J$> MY,Q,Q8B6*\ZN#,$YQB@=A3[U@C-5A1)53F4T&:PJB"+RGA4E*213\J?(XJ2L M#M9SOJ0*^CTNXCE(8@1.+5(!_8D1B)+H:[)"A+E2RSZMY[+E\1IV&6D@#;[E M$HFK:TIE" ($3\(%'5,>"Z7#C_)C:7P/$18MA%C,E+B <=.HU6MVYJOF>^3( M0ID!=/I8)]+BIE]L'KDJ0F"\ IM2.+"%[P!F%=Z*]M@;G@@KC=-SU)7[6EX[ M> ^8/1KKY+/#K4]I[(FEDMXF6 3P.F,=$6R,#$30PY[,%6.!A7RTYXY +Z"Y M#2]HU_B3;U,C9?4)IK$B?2!SRO:E-04NW4$;A*O$S:.*M@DYNE+B5W1*.'L[ M$N$N?YS-GNXU7G&+"T.+T^GDEC'9[KY._ ^G4E/NRF6P@F9 M!5Q?-"U/I:82&5?LM-&ZB11'1'[@T)'!E:.3["'T[RG[ HL/ZC3,\S/$>@ <%F3TKB2SUY'FS8'68V(2YG MLKINN;PG_9VXQ'A0EL>5^Y5)W1@G0]V@R",XM(]3)^D)1[,@5HN@NP-= M[KFY?G(N49TXWHBZ:\WXMIHXH)*>-)29[# &R&47'0L\AZPAZ=M]''M"D/(D MD,:8/<8$LKE(61+V;4*Z%R,BDJ,9AY1#>.R;&43#KB^O8 3F M,X8Q!U+L8\>]1/^7R4AII5GI-&;YA]T4Q=[:-# CX)\Z_[2[J?-/VN,B!:\- M>VEES1PZ5Y*R\L"1!N39C91WZV+Z>5A)(J,^7-:H$,"^$G09_-S561.36Q19 M-FIM4"KOB=8I4.S,W)C\*S4\@PLS0*J G+&Y!4;7;)GE&K+T)5.8:V D2[QW M@5F7Q!PN1=4@_LA3\X"4A),C@8AYS4C^[I$^:3M_(MJ'1%,+Q#\CIJLS M)D\OBHW.DWDW,L.^X'U(^.*!42!+*S887QJH) X2BHFJ4IA3/:YB MD===4EC IX<1MTJ,B$WB3&>_I&<-8IZS\:E60-.CE@P\R$/^VJ.26_JM^7ZY M<6U]*>)5!8A$]ZE0C5;.'CGK4E6-.DPA!3\U?6,*!2-U MY#&T)<:>K.Z1JK>/AG^SIB.CX] 9HC!1CZ$2!P#XFG\[.CU!S MZT[-(5@+X4T@09MTP:84S>QR8QFF%AZM=1*@/4#PX8:?H@I,4*EQ\!6C791+ MEG5^SD#[5OHX\B;2+-42^ )S1?A__DHKG48NP>+DJ5'9/!X715>PUYG*<6;4 M:MG'>L0+-PQ(-N*I4Z5+-%73H/#AQ-ZA&">JFY5C[ES,O=+/-M8#M46J9D?\+I0S<6)SL4, MJP-1YI)VS^1(#!_>1-:1>1")!(\V7DQF$:Z2&M5\Y1#0G>F,5G\A9XD$U 0! MNH'6XSGS**$"RZ]R#-I CNJA<*7RD"FM(+U29QC,*.U*+1YFY!['8OJ5$=9L MC0-\ XZ$H,EK;,.2=<(=E--TAB!'L9QTAJ:<[X=3(*U8P5V \,$-JZ"/!>=% MZA2'@D4SE[=,,U'PQ1)?@E4J669N="[A(K2Y+..*RCJG,E76-$Z$V&ID*4KW MV"BO0A-3CPM#PP6)6KM6&*(R^J(W@-_ #U6 FJYH]URBD71,F!8=GJM2G$!%>;ZG@.')2O MGB<+=RWJ!TTA"_)I*CSFZ^. 5>LS@BJ%5&,=J&A5ZF+,L:8*GH3X:MPWG'+> MA>S&L\BZ,6P,VR*8-O8^V/>CBB'8,]*%SOP:AZ18)-+GD%J%F8M08U#4M5&< M(0BY-"-%<7(Z5?Z M(1R7DK! 8&8SR$Z MRJ[MO$&S%SU5. \&B!QN20J$)49M[1)<8HN:X36';KY M0OB3 .WV,1("2WWR9/P@'1F3KIJ:J:CO!:6"L5*SOR?UUBLDTP9R&#P6" '0-+D#Y)'GB4WQW;6#-@-*;'DA@N<:;%&7,)'K:K MI0W,TNLC-^@0J)\9&8D]$PDR_FB]>V:$N*T60SAZNYF_Q35>E/JDWZGO!+6;CM@=@-03M$*MA/S&5, V,4[E4> M6-7: ZU+;[>5+: C!U?)8FV:4;Q6YA!0 /'$.<.WA#]<&9(WZP>(VR:R*PZ^ M] TQ34/?VDZ THK#>)F2LX:]Q!>J\03C?D>;V$\+TI(1U-&$!;J()P.J,7&I M&AU;7J;,2:C?8N=2R%JCB\$= U"5UJ/VY*9$3)VTP PZCY JUS2@1-8"&)$BX\$H M'!=;!2AM,W3'*2$=4#!C&F[,\B*4*LBH>&0>_A&$LA6#&OTRQZBZ'K"!C91Z M6K7 <2N9AGHWIIQ+O(9LZR MDS&WU9 Z4R9)$__JXC%HS/:-BA=+4H,S1IUTH2/- M!N5@R8^0X[W1J.;[3\\'WV;:#OP\^0!M8!MO(/M%.9 I"D_6)I.59%3X@/UJ M011)Q,J.*YFH8LF:T[32 .':33Y4I:RV M,U'(0[;Z*.O"O11FPF7[,$UM:?O4I+$AUL-)AU&:MGE#5964.EY%F:"KBA08 M.#OUE6$_&OP(K6"<4*I*B%;(4):4R&($AP%;D03 (X)C:.#05 M9) _#&.<"8NB,&B5>($CUVW+MC'=[D*Y5&4Y8>@T,NTR$CK*_^! *@IL,^7$ ML(,F2F-^;JMT^$$P\'!4.:952L8ICA>79M_0#2Z1'^CLT063=Z'W124-BXH4 MY'D^,, :)-7T/34C<\2!"/1O45CKV;%*QF/_K0RX2-6C,(05!6KBY/M@8D+E M3$7D1LWZ6XDK)*6"V5+&Y3VM0H&._)'X0C+F-8;/4/1!(@I6(&3GY-"U25A/ M9;Y-*G$35Y&.D)OH#&"E5=XQ4S^]0YE1ZH%8C0\J?V M]C&3?4=B[+#M9\04W.O*Q;'N!'8DP;[,&@G;VM[=S-4RD'_*)U=1<=B.KE&)5&58J=,ZX\DYNJ+ &..-T ML+)*\P.7)NXH-A01ZQ\\C2LB9KF4F.,!D0T7*8H );"C0>CVA4:XW\W9JO0Z MVAV\*!W/DCO#=.>Z^@@/+%]ERJR,U_(\TFT;9;JM3+<]HKKFV6H+@N]:M M%)E(9D,=&DS]^Q3_P>R.=09A(*'/55:-+#-.TI##KHMDIOAA[5L%LNR,NS50 MP\@,0U::P62X+TV#C7'ZF F".CAL8O3(2 M]V.1RCFIGCA\ W:^8%]2VQ-]FOB%57KU[0TZ&+TI3IZ*O)+$:XSV( 9ZXA#GVPANA&&%S1L%/MH M)@Z *ZXL]:_CT+QZ\S6]M)Y.8[MQ3U=W 1@O9?>@9DN,'STW)#/.8X650[$] M=1290^!SN;J$C-)YP]3D6+E ZMPP+X0LFCZE+*E,*=MHX\3R37%$MSBM>!CC3>__-K8JJK:M 4W3T3#A( M?HW-I*+VDH#HON M!0R:&-#,C@&7_1O0TDAFY\O0D"IUAK\9!;CDMLJ61,R\ M:P)1^-4:L +5@E(*[E"B5_#U8[Y&#-*<$TD)6$QVK*JD70ZB A-+).\TO4(! MTAF2CCF>09*B*E1?=0R,OJ&D#S'EEMK'S%FPLYO"T:4U<.YN3I"= K_C0$6M2P2G2:\[7L@ M: 4E6K=I690>(P0QD'T:7).JN"4S<[8.;,)X1M%X[GZ0GY?1$QFS<[0GQ]VD M1MVX:OK01Z?@>[$Y2^474G#!3&8M4_5D2X#*Y0<:>E+75I->R)5-I:6"@D3X2,-B/4A&_;D?$; MV;1PQ+'S %ZSI4&X-1/O;!]MZ:@N)46I:8A!\YW! (ND@* DKS,F#47L9 F& MW%X;-]19HE\[BX(,:I&HU,VNF?Z0TD&6 EHR9T&NG)W-A3C*/C.;;. [75Q- M+\\K,@%$*^ N9&/"F'J"#*=WD&;8"I#R2R*78O11F_$Z=MFGW/FYF 0>5Q*A MCL"7Z:(/U7J*Y;(LCM3B50X^&YS/BT^)$<02*(^G14.89 N_@6?8+([VR_4> M4%DV[\S,#,:3+$P>;3)T&2P"]H;:2((1:1R,)9$I+XH#1)ZGBL8R]Y.?8.6X MDK1 M@L9S5IZ+*;[4X2U: *2]ISKLJAY:.D;+ 2XKFGH1@.0$F@"I85HIG4F MDP\R*D68+_I$#( /A>6PU-'I$E4XW&W0E_D75C7J=?A%WPS9R9D,E%6MLK NL+QP,H4K(W0^4;3W-"V M!!HB40I3*<) RGM.0T:3K&TI&VJ^41D*N(_@2@/WC5-?W?&,/+3LG$./US6= M,-P3QP8H-COGZ;5R8%:43H+'GCT/#Y+^BFH<$56'TDE1MHC10F9N$;V)3'NH ML0Y9QNH8-!*[5(T)6@(\,WAW7\1S3+%2JDMUU2B3"WZ(579;\X5JL$!JNZ)- M0@)ZR%!#<4I-5KVZOPVM-;6B7^]VX9T([5\3F^4X_ MZ4E1>)IQX>0[]$0")XD#&H:!8D7W2!$8(Q5NP2_C0?5W3%O,/)$%BL?2V##M M@4;<#[GNH1-C_:]/%8VN:I,@) MUCEEUY&ECJBA4V%,+2RV:)R06A".,U186*6-Q380!G MYP,%Y(2:@Z-SO9TL!8%],$.V@QT)%6L32\8NY@"0=66E,,C %M^5P9UK;Z M3!)WW3)Q5R;N'A_4@04X=UAE;$XM)*7&9G<9995"1/3!P W"\TB5MH##3J4M MI@U-L&4J2Y>.L='0'VC_D] ](JL)%G%B-I@<:%&E@BY')P?I0!9\RJX_%%AT MC+;",:<+E[^U>YQ^BTP?AAJ84N1-F@,T3YY!1#)VBL0@@,$QQZ>AHAOG^@#QN+/:88V5(!-;"),H$63>]>*(# M.+R+_ 8,T'!]5MQ33H$QEK3<^WA!F=&%3D62OAO),Y*H9M*O@6]-;=/.8J-P MZ>5N;O)%W_%4EU<2(Z 0&UT&7J*:>62?Q9LB9/G)HL&7-)F(3,^:@G7=5"4Z!,81)\9DU<9;!*)*EYS@IA(@^.1C Y4ECD>I;$=VE(H=)7M4E;5CGKE#PB-1 MB<%ZS"S+"2LJH"G#Q1)_80JWP5*APKU)QH 2CB9(*!S&'@39BJ%D6]F9QH@% M6UKWXPF\C8MML1B>YJT+%<3B7!;/Q136>X$I)=G?@;.P)Y2UM[8F&!U4<\#@ MX),1P9\)E9T8N.$@F5Y( #V\>,S3PHV,J!K2Q J"$^'+%G)B^@B!L[CWAFH0 MB7;.Q2+-3)LY/+H#\LY-GB-5K&![L+*;'+F8FR--C<)?TN4?%.9*AP5@6GT( M5.%Y*Y!DY*AZV2%!3QL*.-Y#0,."W+1BSRH/G4)N]%$TINK>VA( M7.,(QV#H.K:UYV#,&7\ZF6"27 JAKZZ(?6=JF\UR%.UFE$M.-&3J*[J,3&E< MC\9@6X8&QUVOHA3S>+%M5UX4%Q,O4X&Z9'(QCX&9P#7"85D1#L_'&K#B!G^&@_5B%^^"@I@JJ!PF.I/\ "[(BMO@8\RWQS5'75: X M?Y$&EO2AIF"& S18*"8@N%7,B"&QT"]Z;(9-P52!HT&!0<>7S!#;26B@ #B>"3A:*(H*H\N(.U%/ M3ZB+W_6'Z2W"#^,0DS]@*QK@DS;%#3G J#10!G&:HCH9M")LH0+YA6:(K)>T M-84I^XYK6RZE99RYOPRD@6HW6*[/1^&TPU5YMBY9DUS./AV1O,R_3MS9C.-N M!F(2)W"E*\!;2LUJ@Y5D8)."_L;T=]E2BPH]E-LB"/B(1HTJI:6Z8'38#J&? M1FA*&65*Z=FJF!O<9)S(%@O$8"!T)MGK(XM0436#&B3D5>6&&5>1[@\;&S6O M9Q:3@RG7W2!%(=CM*P!O=2*4YWAGL.Q68=GVQ9C*UZQZK]T%K1[+PQI*\,"Z MH<[1,NDUS=#Z\HN \N4\\-AJMZ]\?Z,KX5E6(O.R&%UZ)"H\QJ"NY?%VR9!1 MP5!VT/X6F:%9I-U]]G<;"H67(;!K/3N;W^!#P3:5>;!B&6;TY&LPQIZ,4P+Q M8UC3EITKB"0U$&$/:"8S;S9A9%XO6^3)4%[=ZDSM?!@:"!-_A2EB+ K6E,Y" M,>Y+^^VV1HO#< YNC-%:<]NVTDGT(@N)R1O#?YX('Y/D0EA?D6NQ#8U=Y87. M WVC',H[1&>5(,\=/6H<(^-S@:4.?+D4S)2*69;O!-@*PY%U;UR<*KS*;(]S#6S':#67HDV]XC MJOK) Q,BE] L$@>1?8?$UH;G0\E/[%B^8-1J+/W1O?S'1L,K+]*A3L=8 M Z>79&13=:]2[?'?@C\5D8?/-K(*U3C6!8\/,S 5]4@Q#?MK^/Y&:E,AI.0S MB3J1>3+1B*=97U16],LCR])7#D,X ]M)NR=!9$*3LD^H._(4GBB"-ZZ$0B)7 MRDCGY'W\;/4X"1.JVF(P4UZ$:C.743R<^Z$JK:^<38(K^G!X_*A(H/M8_ 9; M\GC";JZGCEHBZ!9,]2AA;Z^O,DX#$6)57Z6.G$N:04LJ],WAFT9YE8F<0* D2=2A_Z_+9.81:BN 1R)V*#O?9J58B\=T'PG.P,@!76>D6P,3I5"1: DH?(/'L>E"A+ZNL!(2SPS MYR*1&=((!$946-%('3QA@.X5RGA5S85J-BB*D9EOY::P.XA/"MCEICP0)+4L M.=09/$?AH%,AAFU&W.GS''Y0?4'QD@FXZI!$OJ1?Z2,G-A2"T<#",[H&4D5= M/\0]8Q7P) A#8:2F#*S>W'RFR:XOI^%1E9E:I0&"G>WTXZ%LA!#'AIBJ/,]U M7)%E*$USPG.)) 27U.1IQONJV1M2&?=%KB6?02_51W4.'1$^HTC=A +CR>\@ M+:A6E:(VPO*GB6*SU#1K9M%,#"IDY=@(X;GQ0!)=OXW,2*1FMEUI?U=^476Q M4$4^1CX] L5+V[#2L$X> J! G$8!J0R[,18$_?Z:^8$,5&E"CUQ/X@:8I(E; M$XNQ47DJD6$JTFK*"$.5Z50OCV7L7\*>8L('OI45#L"-0H%;4J-S6#9YY MJ*?,%M5;! &;IJ]QK*E[2;29%TB(7(3(1@:6F2J\%S2)0R9WLJ5H&-8R8()D M^TPD="-81BBZ'"="0>7+&)6>8B0KOTDI11GT?)D@(X:-5;F=;!Z)EAONI!\4 M4K25S=F*XX:J;%Z!QJAI%^C-^P13X+"V(US!%,J,=,&F@V90C 1Z^ M(4- 60<1(;MSB%%<$HP]Z;H>6$VSEY>FAXY$B:^PTY"JZ!YX4:3#Y)_Z'C4\ M,(8:(=JA3)/UAA2+=*="YI1B*GU5/#UQPBG&NO'>=2-]8<27.3&/:,_0QPK: M1Z<&Y)F$?6E[81*L>G7#/(BEX]\# -Z9HOINLWRFA7=!X3UH[T M2PF%+M;J5P*T WE,9W%F+D2X*O0&EQOX2/X,L*, O]*193(HP7\FZ"_LY# M M65D]C]VLF6?H1 M.+>FGB+/!U(JFP3G*LL&YV4/4$[81F).,YW("GZ M2FE++J.R>JVAA*!F=Y[21'(&3A;63-9GQ!/U>7#Z4*^DV/\%6C1+@/ O1?,H26A)B*X=0)CF9LMH40/M4 M%:4O=?)KG:,JS#.@?(413ZP>95-=VO:#5(;#P<%JQFZ**)(U^&D=Q(I6V"6LK8.ON^\K]5YVQB"3S'4H#$M%B)PZD#"\1A?]#2V*>*(:"88;E/#\ M?35^8!0,*+>23WK*HE[)Y7TW,%%Z.1Z0-K'E$"N69D !YHCD>F=&DLVTLUY M*<:#@H+$U2-V-S7SNS.N9951B=7SU[/-6$4B>420'0<$X.]&@X33^JH15 $:N,;PEHS);]?'^V&G9G""\:%6S24O MR@6S#T96J\YAIZ5F2W/ 8S/%X^K" Z[ F7%.C\P&.>!-1UZ4<6N@U\\=BG1I MX/K,2 24BSS50PR"L>^FKA"OT3!.EH;V,E8MQ\S@%B[ I$,!5;4.R*[)6" * M*4#F('B@9ZKLHER22X/R2Q(QW1(RXLWA?A&ACLLFY=701K(R3]FG9HV5],?$ M)=7NI)/,TC AOPLS>R$-!Z2QB#R@(M/F929<5:PK'?=R YH,#_13ME(V=Z=% M_:>JM0G\BMEP%6&A"S?TRR?7"X- QPVHXAD?D!:W-M)24">;;;DA% %/V0_( M#?0UKRE$!Z%PN)=<476C3&NY%KU'']^W&[K1Q&R8G5!"BC$[C!D.,8<]E7@E M0)VT'7V)U$@]JS-BJPU+JZ2:RZ3BM#N\ I- ;*#5.WA4(9+$Y6"ET)@&U$A%8(Q"O%2:HZLP4I\"\<=(/A M(A>!WL72U-K?V?[1#@\A>2D9DB9A9"FM?&P*C&(&1"086UY#K- .G-"43U$Q M@G30M.'L71&/+8I=NTFNKDK0V&2>D#03NWY\6VEQ[@OD%V9*IDW0J+2?,@6JP'8EWA/WK*?1XQ5X)_3_D0Y;JR&_ M,UVZ[]](&PR/0EV:L.9,#P1%2R:.[P=^/W2'P+*'O!-S2@C>($V!N2"8/QY_ MYO*\#XIM,M$;-:79.R%"TB?/ ZPI9\&8EQPUP>-H=%IX;RK[;!,?^C(B2%<( M?]IVPP^88-$-LT@"%"=PIY'!<[J,806SR>,?A+)N'$1L(NLA*3B!B4W.]!>' MKW2^)5XE+Z6S]KS#AC&'TGH4MP2Y'9!0T@XU?FCH MCFE((&><%]8D@,W."#!83POZ0 M.?5(N3V1;'1/,<72HR*E@+)%>YZ$I((V L^'K%H'%ZI$'(/#(_@3U8[;'-IR M#.1D,"@Q,@Q&#/',.'&'##R>MOJ8?Z="_1B'\L'UX@&@SQ@;]T_@>$E?:37, M'G/?'MUOWX5KB2*=K3=];/(7I9?I9/C(G,B9-G*N]M19ZOH807@G/.HXQ@*UHVM*C68VHR%U>48%+A'W0[&0(#QGY!E&R6:)1E5,,;61<32:L-TI9<<4 M*M)ZENM)=%50D1: ?>S"(6@WHD5B!!EU,[#KY>VM5+N%8>)O8G4(4@\A9JXV MS?#ET'HVUX=M5W0N.OB;MB#B62:49S4*R%(V-XL[EJN89>8LE??9H/,)PV N MC%8*HRA=C\;5@T/3L7QI;ME0GW(L'9>X3-R9AC?3$X#>R:9-H^A;E5U@VF*< M+E+5&D83@1B= ME>DP!MG<$*$U$VY<:PC>RL*''0^R170RU0@*AQ(9O##48ZIW8K70SJQ/UU:9 M%%"UCJ545AFN]-DD;[$U5*CIJY3E88V#H7G!AHP:U0"_3SN0G0%'Y67H7LU% M!XF54&\8I<)UP8]S$;A#]O(XW8CX/^ZE&%8(GM54#_N!CU*9VR)B\YZDM8/' MD47ROT6E9TY(P\&ZU%C/^5LN;I/@@1JD;^P%?4QG8@A6P8.O*IC=8J0^#DF@ MR9BH>1ID-3*4']:B89$)H^9H)LS65NLIZ.3'H)6@@Y)LXJH[SNQ-'1[-M)34 M !K00)U$%$-=U)S&@E/K(S^LP3; SAD@WVC@L&]L0)%RRDC*@IZ7523(7!I_ M0VF_3)+/2,;;JY4II^CGRI/.2&2NSZ6QQGU'OAWSI -'=L^L< T(%DG.07>X MED^J,]5\DK]WW 6_7"DH6- %2!^U4OF9M';34$2Y&15ZF:: CE36[F&%YI42 M\G_[F1?.^3O]P!NRH(63DM-^<_'C_%_QE6\($0=_6OHSO>1-%,#)P5N)E4 ; MI2491Q)K'OYYH'HTTP,]P> *<^8>(XAO4\'='PG.V*G;'&Q0LT;^]]_]_Q1% M WU3*1(QI#PKMDA,R?9[56]4N]94C4&&G;ZJ57LM-!'!H_82_$8T<; +3AU# MG!Z#!%(7R\? "#9*HCI/?W]!9 M**0_56=89, M#_%04P,&5\ 6E&<*1"H?T6Y4@9\,,I+O4B1E4(;Q;#0'1G#@BK34OROST)F] M8>Z=PP'C&E+"OJS92RK* 74\JR@EX,R+)V>3-%O!F09:4P*^3-E#Q3U)NI5S=*GGG( MF_EW'&(\YTH]_R34\)PHYO5Z*::T=C/6;EK-]^;_ M#09"C$:/;0!?1PM'VU^W]T^WC]>I>@IW DH>K('4FP70?BW"01A2 M@&K_5EW\VJZ_I.Z2NDOJ+JG[J5-WNQ@'\:NI^UF3]PN]5G8^BK#M];#UDXJN MZSZG#KWP4.)&2N03U4CZ!"):A134-Q1L_8I-OUJ;-54D*60U,^UYF9LUMS$+ M!=4?P&>L>JUM-UOMIY,6*DFZ).GK2;I7MYN-C9*B2XJ^N9[N:5!TO677ZMVU M4O2CD_2:'80G?\7M:G.=W/LHJ8O,!;]^/LF&G#^PFXXM60G ^FQC5H^DA@IW M#NN47<6/R-Y'G#4;]D:[LV8;K CG5/)#R0_WX(=&TZ8ZJ)(?2GYX;L'O>_GH M]D:SM6Z'I@CG5-+!G>B@U5B_VU.$8RJ3)B<()AE,IXGO*J3BW-##,H^R#MWW M>/6;CV 8%FVSZ_::[$9KO6&^DBN*02@E5_P3KMCHU$NN*+GBJ30VW*=\Z%:< M\%N[WOR]3 .]M%NO-ZN=-5Y[$9)#O] E*I8[J+VD>H/>>"1GK90QP0>/"19. M-OSB&'KA]K_V*HFZW6SURB![R5 E0ZV%H>I=NUZOE0Q5,M2OR684;O_KSP(W MFNM54$5DJ))0_K'D[5776,!>:/7 15L'1R?6 <[UD, %CS1^WW*1>MK MMCJ+),C>KKW)L232DDA+(BV)]*4UB#P(D3XZE9875B9AGE@2YI?T]Q=K[X4* M>#T?@?4\VQ:Z&W:MM]XZ[6*<4\D/)3_<@Q\VZG:CL6ZPC"*<4\D/9?O&O;K6 M[6ZG3&B4A- H^WB>2\+BD< .GNC5EA&V0H:![R7#NG9M8]V8!259EV3]V+4$ M=KM=]L^49%W<\/J]0E-V>\V>^*.3=7G#66R 9G6-VKA,N!3'I_CUV #%.HY" MQ=@*5TM95O&OUZVQ6\UUH^&6[%2RTXMEIUZK9*>2G7Y18J!P^U\/C$%M[3 & MA>.ADC;N!W:P45TGQD692BJ"VR?!#K:"*+:"D16N&?3@B=YEB>938ESI5NL- MNU,KAY:4?%'R108GN&EO--9865*R16$HY4&-Y:)M=OU MWNVO&S2Q)X2B30 MKJXQ_5EFQQYY[]=!!'PX.C@^M@Z/#G9V3]8)#U"\4RA,V/'YB,+GV8@!"G"C M5+0B=T+88G+F?"C,HE41@7+8+E,(M7L M=JWL]"C9HF2+'%OTUAPL+]FB&)12)A#N:":WNN4 H1=XZ]56.3_H9>2*=O>W M#O:VK9VC@SWKX'#[:/-D]V!_K:#2Q3N/,BI81LEO9PGB@-5U.TA%.*>2'TI^ MN!\_M&KKKJXKPCF5_%!F#F[=<-)IE%FCEWKWU77>?9DU>MR-'L03PO$>!%-A M6[Z(RV!?&>PK8^ HZ5IVO=XM0^ E5Y1<87!%N[9N+.^2)XI )F6"X/X\T;0[ M]?6&!!Z=+4H*N..0@W9UC>GR,EU4_'31N^V=@Z-M2_[K9//[>N>0%N],RI!@ M&2*_78A\PVZVUSOAHACG5/)#R0_W2QGU:NN.)!3AG$I^>/%I@_NY2ZTU@^L7 MD1]*.KB)#AJMZAJE8IE)>MR-[E(.R8J=2]5F5 8(RP!A&33G5%*[MV[DA9(K MBD H)5?+YIA)N7535QIGA99?1R[OWA\!@>*(R\+GGC?:W M3V2VJ,P3/<(-E"G"WM<=5&_8&YT2O:MDII*9UA&? M:#1*9,B2E];*2[<9P%.$O:]_R&YK[4-V2V9ZP135J#767UQ8.(IZG?,$_QT[ M<(D/_>ZNO(YN>B77^7!'>@J3]. >GH)^)%'LCA8F#>46;-(0/QA_?N/&\(#! MVQ6[. SF(K1V_2$\.EQ8QWIP<$IB!=C7R43HJ53C MF*955^G;:C'P0WH2?1'/!3Q.[B6RYK Y.++8=3S86# :12+&*QH*M96K-NM$ M43!PG5B=-B[G0R)"/Q*+['JL&>^85KWGS$!=?(2+L(X#SPDMP1L?.0/2:C8? M=P +EU^#5X5"(6W"(GT!WX+S=6*Z;T^D>\Z2L!MIBE1$F](L+-N9P1LNW2GL M 1Z[T:JV7^,7<<,8[:2MZ2>J&Y4GMY+\<'\;&T#;-S]F$(2PCEG@H^B'G;I! MR'2XP-W)EU2+)!Y@C?!WH(S0!26H-[)TY.JD,SQF7<->0"DB^ZA5I)4A0RFA M5I-;84[M[LI"J@E@1FO+W.\3T1I!HO4%;B%S97=0'_BHDZ.\TGC5JVZDF@*( MJ]4@+8(ZH]FH=E<+]ZL)S] 6\(B,KF@T4Z5T/UWA3,':B^EI(U=XPW3[*",N M4$=Z(/) +PQ81,Z#\-S8[U0X/AS+*$&!IX3V#&XP&$95:^>V.\27X;+LZUG5 M%(JP]\9K^F*]=RN!F)-D:HU%HM&I\P,6.X"/!E-4>DQ?>-Q>,A16X O\U7X0 M@JS9A$_ I:!+5=]X&UF@HL8B G&&AK\':PI1+PV3 3R(=-5<@"J#_QU,Q!0] M ]M"&&@$AX83PF_RQU%KFPQA*\6'1PVGD( "C),0SY#HTD<=2])/Z7RI(5U) M1 &A"43@>, B@P%=#LMH.&14^F1_! G\CQ/A'8\-R7E:/:[2&3A>%%A,U1.D MW7D CQS[[@BVXL>I"@;?181S9T'7GB%I)EU0QG,']6(,%!RS M#K98G\[Z%[ M\9__A?\HHAAXH.O0A9K(Z]-^)5Z==*!JM=>_QGL#\XWDOC=Z MU59=)6+?:+\:3\:JUZJ-WFO+^!E/:.EXI\YEQ3A$Z696/#&"S?/7U.]"/A'Y MRP"("FCE32@\@C+'IV>>2W<5![-?>%'_/"!R+?5E3VK5 11 E-W=GC@1G@!I M,DU\J6]9FI&7\,! M-]F3:/()# : ZYPSY4%&Z9.&/62];!P+^;HP'MK.'27 '*71#.Q$C!YDKPPT M/P@;V.K(C9>WC2Y%>NPY>44/,[_/9 0+09L$S(3EY]4[U:ZTS4WK>R559P27 MEDZWVG+#L"B'((K!41I,''],L2YZS-2]5)Y?2JQ )8D_$:VT;W9(52PM7E:6;E99YGU8R6;U M#7)$ZRV,_!"+M*NUUWD>N44 J3!\<0#7>35U:Q:XDP)M4*SQ5:-5;:5J\R9. ML*YC@D8-%.XMF> ITQ=8 4A.]7:U+NFK3I;&7>FK41CZNM:6T,.5/AC#E3:S MPY6V]7"EXM@9*]2O82*R]JW7[QE9NEKWXN]-!MJHMIA*>CH0?0L583[S:9 ) MHRGN2C3%?413+ XM+$$]VK*T2)TZ-!>+@[-+3G9:AFN#RMVX_]! ME\*P X/EJY;'EAZ8Z2O>.C&B[EV&**B5^FE+5A'RIR5&(Y;/ MYEI &Y)=U.B@5P4F#G!3^D']B:$+OPNCU/B/8B=.X@#X?"2&I&,S3P,S ZW] ME-[ [L>OF48]T!4M?BA?2#84/M=)2#!+:"7K:<.B<*J%9B[[A#:>'.O:"/FS&!:O.'],SO&!."]%7 M^!MZYHW:VP^[GT]VZ>?ZV]_39 9>-\:NW6@ #U)YV-MF7!I9%W$%U=Q$!YDD M5WI L%_S\%-72C\P?8PI=SI&N"N>4) ^LBBLR6DO(@81QYZ@A\GL )*=$P() MXE$/P4;P@AG]'4Y\");SP'/<:93F9G>/0'5L7ZK%XJ^8*'3,+EVP33+J:FJ^ M?=H8=@*.5N/UPX;([B/32,J RQV$1+&Y=$#^K_C*-Y1?P9^6_LPQ7K+9*-"& M,2YG MZRMX>@V%#(@7+\%O1!,P.%*3*U*'<+6 3EF2%&N62;$R*?;(F:)1X(&>1]43#29@/WB*BS&R ]HF8+E( M81T6EG>0#%H\6K\-X3U.*-VB((G@+]'O;^@DJ8!6$SU720_PX[-(O%$_F!OO MP.KEGO&DP2V/@=>R!&E4!TMJ7":M.%1O52?(U+ &)!N#+HQG!_"\$1RW(BSU M;RJA?L.\.X<#N)%E]-^=/F@W$(QOD7L*P#S&-^&/=V(E^=^'Q%9XX%N1VH9> MO'1!+_MBJ,6HO)CB70PW$Y8W4[R;*65902^FE&4%O9A2EA7U9DI95M"+*659 M02^&VXC+FRG>S=R$65;>3,DSY#-/#87[BB/HWN$(GB (ZY79 MH1L/92E/>L=3&@0>_O+__E6O_>N>1]9J56N=1\6W[-[G3*\MEW0OK:7D+B6,XW[BIE>=>-Q4737 M?GB8"5TGE.I3VGM)./^,OY)H.$Y4T^80#XH^VOV_NGSWQ,\-JF/A1SNN.CX)X6?RQJ3C64U%U2=TG=)747 M:WL%PJQ^]M3]K,G[A5YK08'#7\:$7=WCU*$7'JZ&_G@"$:U""NH;RK6>T-2- M:PLUG\:\@_I&VVXWUCLA_K%OMR3IETW2G;;=V"B'W98D?8MRNB="TC6[L?Y! M1\_*0WCJ5]RIKG$H7!%FT^9G##WA9$/.']B] ?'OV<:LBC/5[_F(KN)'9.\E MS9IVK=,LIUR6_%#R _)#"[WLDA]*?GB&P>_[A9WL=JOV[">WEH1P$R$TN]4U M^K5EUJ0X7M**V3-7P)V7(;I_HOP>KX#S$2S#HFUVW6Z3W5JS5BRYHAB$4G+% M_;D";,5NM^2*DBN>2F?#?>J';L4)O]7M>JO[>YD(>G'WWJ[6UWCM1<@/_4*G MJ%@.H?:3Z@UZ8SHSL0P+/G!8L'"RX1>'T0NW_S5;BHU6VZXU6F6?BLA0):'\XPQI8_T%@84CDY>1 M&'M[ U;!UL'QB76P8ST$9L$3O=^G7+:^9JNS2(+L[=K['$LB+8FT)-*22%]: MB\B#$.FC4VEY8642YHDE87Y)BW^Q]EZH@-?S$5C/LW.AWMJP6XU>&0$N&:)D M"&*(9LUN=-9=I5F$@RH9HFSAN%\O3[VS7@511(8H">%FR5BF+)Y)RN*1$ ^> MZ-66,;9"!H+O(\/:+;O3+)L-2K)^7F3=[-J-9HGR5Y)U<0/L]X/ZLUNUM5=3 ME5=L6HW>NMV_XKV:ED MIQ?*3FU[8Z-DIY*=?E%FH'#[7T=/^T:WMG8D@\+Q4$D;]\,[:%;;:\<[*!QQ MO+!I5!KN6B;77=6MV%O]-8[Z.K1^:(D@;N)QFYUC?9"F1Y[Y+U? M!Q/PX>C@^-@Z/#K8V3U9)T1 \4ZA,'''YR,*GVFQ".=4\D/) M#_?)\K;L>F.];H<3=Z M+#SXP-BVQL(7H>-9CC^TG.'4]=TH#IW8O1"6N)P)/RH3265@L R8*]A>N]8K MX^4E6Y1LD6.+=GO=4"8E6Q2!4LH=.FC;G=XZS>,R5\;[RC X5I='2V*"G@CDGSC?7#>C]1P?A"_KG4E:O#,IXX)EG/R6 M" UVL],LX^0E/Y3\0/S0M#MEWJCDAQ>=.6C:S5JSS!N]T-LO&XZ>5=YHES)& M5NQ^]W:K6R\:BEY$DVM\^D:FA,BGT"-,OFB QAD'2]T1! M].*K7S=(I@A[7[?UV+*[&V4$O62FDIG6XHIMK'D>:,E,+YZ9;C-WIPA[7WN9 M>+VS]M*_PC'3KQ[0] P)I;%17>,LO((FP%[G'+Q_QP[R'6N MV9$>J20=LX&_BV%816I]IX;5MQ '_::%?;ZF_6"/Z&SX_<2Y974]C()+*$ M/X1'_9%X"ZM9MZU&K=&T!L%TYH3PZ[D;3S(K?%7OM-,7WN&A#Q@&/\0 C@0_ M=:V+\+QPMJ"EXC0MO",MX_?63N>N/P@?&LFG'/X[LQS_#BR"0L2 MO_[)]<(@B.63CV.:)EVE;ZO%P _I6?1%/!?P.-Q&9,UAMXL.5@-(I$ MC-!M9VS\3UW=!<3BQ8PWH<-(GTMT$L$7Y&UA7*!1> M)NS(Q\N"FW!BH@U/I*>3I5\73B:)@",.E.X4-PV,W MZM7.:_PBG@Y&,.D<]!,-ZJH08<'EA6XP7$FSN%\@^(WU/*]1+9*,F(5P8B , MAJ$+FE#O8^GHU8D;&[6NX4@@+I%]T"IJS%"N%%*K*;0P9W9W?2$U!?"OM67N M]XDHCB#1*@.WD+FR&S7(1JHE2(,TN]6V5"&=9K6^2MA?356&\H '9%1'ZW[J M2&L.9PJV7$S/&KG"&Z8[ ]ZW6?X.$I"%WL*V+D ""0_$(6B, 1">HPR/ MDMDL".,5SS$.1HIW%A!1U=JYW>91"N&:[>L9U!2)#1):_,5J]Q;B:Q" !HUF M@8_V:[K"HM#FW9GO1'@"J&::^/*J(K#<1J'#-)R D"H^&\+_1HD77ZT&;1:W MKSK5UBHFN%'!@9+6Y@1;8M5&AFWK[6H=V'84!E.#7.TQ"I)R; M-42!B.HZET5-@RV$ZP+K^:94IVDYWFB29,3@=?:X!XS!'T;C4QMXM[%J;*W1 M]5(&N5&ZEN-%P0I)2+Z)DC5 ^)&@KT:2K!NU#4-5L*,[="_^\[_P'W4+ P_6 MB\[[1)Z7#FC@N4G7O59[_6O"%FP#JYMKM(PIPWR-S9:Q#?KO?_^7N9TTOE 9 M!%X0OE'!&&.?\MT-"CB,1:4/IWI><4;PYC>.-W<6D=SW1J_:JJO,_AL=T,&3 ML<#':_1>6\;/>$)+QSMU+BO&(E[IM0>(2& MCT_//)?N*@YFO_"B_GFT^EKJRY[4J@,H@-!#FP#,L]9JASO#[#=9(V@P"/0Z M!1I'VOQ -0 GJ^44R(&LAX:S 5\7QJ[?N9.^G*-21DL/_W22X1; 04OT/H>3!Q_3&8M.0C*4IF"SD?*2/R1WY*2NR*T9=_LNJ@H3;QL*;I92S'O[4C]5.]4 M:V U DZU6KE>IR^T8&L*ZC M??!I&K>E_:=,8(TZQ5V)SIC FM7>_0BL.+&G:ZUN/5;G@S%69S,[5F=;C]4I M3C)AA>U:-TQ74KKPF\Z](N=7:5S\O,TW:U8WTI4XD'R*#2B"@? [=3X7CPQM'"4;O)W \(N2P!+J, M]LI%&\T=3\V(KL"7^&1IL1,'Y%$?/=D0)/R%P'5K^^K*?<<3 ]OT5"6/M!#.9&&^TOBL(,R'GW%Y*MAR@/AUD& M'[D^/ B54Q3#+TBK_%Z@V,M20$\MP_7A3MSX?S#F81C;*ZY*4DA*UJ_J=XTL M-Q23::I(#5YD,SC@Y00&VKT1Y<>0% QNB:J_()9X/YDIVT=/G,MB*1_V3$?0DNSFM"UI)'FZ>UX41: HH@T";!PZ]M=O'E5 M@:1N2@0IO'3+)%&HRLKCRZ,J26.2-!L35#@3+ #L%6ILGHGT%49%MB8U(<-8 M (E\5!<.0E5ZQ96T$UHR:A0@.67T)=QIE*<[A\4D5L*HY.=[&-)J?3:A".N5F_EOPMF[( MO8+M;K3 &WU>/?\8#40ZP0$C&1*'S04WY[_%5WX W2I#_&OA:\[]D*V#MWYU M_TI<1YHTX0F7( 8XDM$ !UQX3J<@ Y 'PJ.1&9E,0_"X:W,6:M:&!3!-RJYO-] M%27@",:4$KK6F#@_?1\% I>@QL?M2I4A8+>H,A$HEB &M@GX"O"-CE5XW->VM<\ Y4\72?,!0!?K0DV"UC'5.#%P] MY=>H7/P-)4K @O8$?A4E(S!^?LP!%UTPM.@&+?=$3';FS%ENL7,Z7U=NY:*4 M@" R!SZ-IYJ#@1<@01#!VD1+W+/;Z%=9$FEE^A#%R/!D8^O(TLBE< E^O83, M:R:N,U4(GX:)3&UF MM 3?]S+PDD[1A#<<7C L7]NLA#'U4A(9"&Q!R1B<62=_ MEB,<1@9"'.%EADB#+O)*AK;+$LTS"V8Y MC6+P7LUTAI:E(_.24+4&BWXDE3[!2LGG\I%2F!!42DR=D90&.N/&TTSV+,8'6@P/[UM],PB&?4[ M]LX+6,QX@U-,\H69CD<[Q"I]W^Z8JOHQ#G&C ZQD>FZ%7DL802=7Z%&"*0AM-8VE98FPNY@SR@JR7H:XE M'MWMAS2R0S\/<;US!(VM"#<#]BL/#P?@",24Q,-E+RF S;GQBVJ^:83!\CR3 M1/(V''?*E*%7+=NP=*,SQYPUDHDDE^QS8[XNH&\>MC.GJ .8-T^R*,KG 99 MXQ-:$8:'-$18CAJ70?EV!M[F<5T..=X&>NY?KYZ#1^VF83INQ4,)5),04>2O\L*%#<( MM Y,Z@ER MT$AV$C(_TN/GF.+W>9^R 5A53,6?L)5S='# > $U;[((OI47@&^ M,?K'YCDY% 'B<2=(OT_]Z/TD#'9&#'2,44GK#%';4Q;/27\_PQ 0\ ]E5A)?^[WZ:W7N5!-^K%:A I*@IPNC@(9 <@Q(D3,7^&ZLQ H$/E%59#ZHZ2A" M\$:VFI;@I:DCE$/B7'7"AA35.+ 3"A0B9Z6_I8,Q*$@7X-F$#53@21APK5#8Y.[E&\A1? MS_!Z!YBE%UQRM9P:;(&T6/H1*<\5!MH!$=%1CZFJ#G#N&6G@S0I MQIC-^).S'PJ%7008TZ-CUE1;)'3./S?JT,**HV'P #$556G42)3%E1L?5 M[().!;T^T(HVK^Z4+PYOY"?8KY^YK'GPJ+G4^FAA("#E-Y$*4DNI=D# :IQ1 M$(;!)97YPC#@QOCP>TSF=XSP"87;R72HG3F16&-E#7 )^C7+7L^&8.'7T\ ! MLZ9FL&3*1F*#\)\G;*F +DX$PZBA2_"%Z"32(I*3P\_'ULP#%577E9^@@OCC M*+%1W8'@TJ]!!YTGXESR%.QQ0;2T$AL0IB,O\"_O4"DQ29H@T*']!>_23&"P FP MKRHR'VGSIDB#H)<<\H?K^+@"(+2#RX%8QB%+'&/-6Y-LKHYU*(^JB/ ]"'' M.-)SXP(CK&/R,8Q10!$N^'0$R!S$8T$28]T%*>]TUF;B+IW,1*1S]&0<8STD M0A:]$",F9XYI*.]^OM)ZSOTPD_?D?EA4(@9P[E(I81FF$:$"./^*;\5>("=3E7[G@8NPA"/W7&1,=EP)'AZ3!M#=E37&!&V#!$7 MABJZ8*+E"J)N]$B5)<\#%4)6D X B,-4XD6F)(U>F ^#[H0LU- M%=!?AIH>X4?9__4]4\F82#)X+:A"@3!EPH%%]*[T*J$WM3\EMX3CKJ MN5014'J+]LD5)E[(*'@C\,BVOC .RI 5D1^$4V*P127IL^1H;E2A'162)HJ@ M.A_)3-#09Q[1CY&BR!,ADG2,[\! V(C/8%5401P*''K15#>L,H* ST'&8TDN M) $^6VAC@4I5!]06->L[E%OTTSD;P9Q!B XI MR9'4583HEH;JFQ$&_5%!D(T$@I#FYGM8.)PHL-I!TK%/$#2J.],FV_P"/#;I MV^Q5^*SGU/A\)"^B^GMD,XQLQG03EYCRF50]'A\00@EU7,EQ$M#P65PC93]* MLEQKWD-F8[G5KU312AVN=JVI M<"3S'VT$6X7,6]/[,R\?D7$W'&IVL"_*N='F8;D'I/-:VO)CP"\+SU;Q\!0Z MD9J#T]OH%/6T;!8'+RPI-#!+P_/5!\8I$2/+1,J8%4L*$A(ZW1%1*&)$IT!R M6V!$M-DV4AA'$8[LFR'ZZN*AA8-R;:X6U:FM6K6C/Y@[:+JLFN*612[B17J< MV2:=+$M-Z$8_XGS4WRB.S=2 612C:CKB5*H+H^XTGB1_(I528:"F M5/$M38AVS-BQQMAIDD I2N-H2W9($;8MS=I>4P('N$\ 5:.)D531?&/(:ZF/TREF56DBU3 M8NI9"D@&AK>G_ ?E!>*2<3%*4VA78PEJ Z.%4Y57&"U-*\A3!N:=,'2$\486 M%H"ZT=(S1FFDGT>#32H,:SI]BT?O.D;B"=;ON6#34(6MO!!>0J%RTG")SZ$#7>[)HI:;Q=S:25L!VDJUZ#BAD&Q1 MMO$W/'OND1])"R<4!ALSH:LKTPRDD212'C^3"6G$*H0-2%I%F:_FO24CQB14 M^3I;/Y-FIQC.Q7IH\MZ)@D8BN:*.5(?T?]2K?+P^4Y4,%I?EC?*!!;T>X.>_ M:-MQHZ7DJ(%"EIF/YU/AJ-[7 &MN)+U.[;$%7J)Z2#E\*OEN!D@XAYBF]M25 M2+EC^+H2 @RD)*4F\8B_5'1&Y][7CAVEG_5='6(F;'VD\6:?T53$F?](FG%? M%8QJBV+4=*7%545AY#222"Z(06#%+D8(JV)>3I$:S,3'J[=]J6\>5)QO!%TJ MI/PUY$](#80"2X6-C)*^V8&O9YAWO(G/@:0_P?!*I65<3TX.1DD$.DL8-DW] M:A8WLL=90"_EUI3/$8YA8 I-G)S1+?XXR83# 8)\F"W)QW3+?$R9C]GN0^G[ M4P[MY\&'=@A'&M=TCX1NWC_J?AZ=Z _E'_^+Y(Q]810[*2RDH$ MW"E&JA@J C()+JWT>@VN,V:8GY60\?)2QQ$TKV3?Z-XW8IM!!>N=!OQDUX,D M@M]%[UEI\ERUAN'6-WC"5LPB^4'_85*H \M4Q$&V1MP/*]$*EH1?)'&@/V#) MIT]R"J*6M851O\E$'713GW5.'.JIZ?U@WKU'J\YNL]KKW]:4U!!58W",F8QA MB[2LZW]3]YP/K$XO@4QW:K'T>S$"YD]BD Q0: 709\:3\.6#M)OZ[Q/[2C5; M:]P6A0#HQ0L[]+IWIEYM=+.]*N-4F8*N3.E-BOJSI3:K*@[ ]JL4>[, M,^[,0SK:WPF3UTB#W@-H\*Q:_*6#0W=29<%E?R"9P+'##__QIOWFL21K5KN= M9Z59[S$DN^VNSU-RH[^Q^[Q/[G,:.2CEII2;EY2;?)/A^NS*H@C92_087KE< M80PJ/3JG^S.7*T'U6K7;V"X)RMV]6K+.<[). MI[]UK--XLK8M7/?V@_20-14SZ%NQ5R8?A5OPHS*.*XB/%(X0;U>P- Z7%F%I MAF13DLO,&S9SR?\< Y@KFX620ASP&ZO>J'0[W57CC"(0JA2&9Q2&1C&6MF)A M:%4::/KF6&#C?(WA0J.'34"!!9;B]:Y:8]<5&;'-%])V?U%(2[Y^U7Q]:_9G M,_BZ7^GT.JLP/D4PS+F--@OP2HBY]1!SQ?:J".M;M0GK]4J/JQ2'TNUB<>BV M%@,0&^=TY8K*\1RW'PN?S]7QC3,E5GV:7*\OPKX&FU>TQ:X:ZZ[<_I5"40@^ M>5;+5[3%KE@H&LWF5KI_?/2H1+HO@'3S(M($$7&"!"%(,13"LV;BBK?V5:?J MNI5^JUTZCJ4XO40NKWAK7[4XM2J])7$8LK@_T1G6M;5=?HP(E*=N97GJMCRG MMD5G;LIS:ENW,^6IVZ+N3*G-BKHSI38KZLZ4IV[+4[?E*:>7/JKRFL[7GKA7 MY>G:39*/\G3M!DA5>;IVX^2J ':G/%U;GJXM3]>6IVO+T[4%RU)N11*R('O\ M##G&[N*ACE(82F%X?67>]7JE6]N"2N_R>&UY#'%[C]>V*ZW>RN^#*/EZL_EZ M"X[7@O7IM_M;66!=GJ]]52"S/%][IZQ7:LVR4+H4B-+U2@6BW5[)W1+E&=NM MENRBG; KS]@^0>;[*P\\EE)1"$8I#]D^7BJ:_>WT \M:]:G-J53J->L$.VO846N[])[*+KR@O50EQURW4C M2UA3*;"_\#CQ=(]=]C_IA]+'-42JS3DZH5%$/7.I;WPHJ=5\,)/8N=@_SW61 MQV;$U"W>C?#@K342\)]ZF(E!W^IZVC(,>.YH$ MB0=$E,QLH&]X6!> /6\I\EG%"D(F9Y2,8$4Q<@),B)E(LYUB-;7AV%I:B<0= M,^5IH3P 4WB)PS\GK@U\!U/H#LT.70U:]MCU81B7V!D^F&)GZZHUA%> $L0W M5^AI14\GD$Q17]H@@"*$7<8:-)Z;-0:5"RN[$*ZGVFB'P*:1'4H<283$9L18 M[N(PN4W"=PHVE2@Q.+"2O6@"3TDG>E:VNY''UM-Y?3=TR0I:@TRI',%WMBNC M(C503^=I*+^9FBC!")F<10XVEC1E"/MN78*>DBAG$P'2-14._ -Y^3(3 M)WP I O4/;P%Q#8$K@$A^I.;I:-#FK M-WXGS $FE7UCH[6%];IC6(L?PTO8 ! #9O*B194VT=#&8)N2Z8R%E@V4SY($ MM]< ]D?I9VXVM323>E!4CD>7+$\E^755;25?R4@O*S5 M4 =X@99MO #MD/12L;\^]SS_#K44/C ,AV5FL=E1^Y/" 4HU@&)V*[H9U,85DP9K1@ @#LV1/4HE/ZAH$+*M6I^(&3 MS]AR^/'=+&&XE0L M#O^W U!5G*CQ+2_PSW=B"0R#@Q% Q6]0Y$+$L!]-L)A*P<=4FDSUID4$-BM ME HO)OH*_]K4CY;M"7<:H?KUY#D\"5L!,XB4MIX&49QMH5+Y) #(]>AHZ72&)#I5-&TGI M@Y A?8!]8#A[(D -DHW"H2[%->H,$#WOFD7YMD4X$G"5.Y(.O\+UJ\;19N/P MMNU)$:+C/-$7#&DG&/GN14YOWWB*H]'*'%TE!LW>_ GM__ZOW%GTU+>? UC& M.M6[&^3+G\L=/NHNQO#F#\(#,D?9M4FMN@[%?TB# $@9JUZK-OI_LXR_D4(+ MY,4;G0PBYFYL4H_E+VW2']YQYE[M%=Z ]'(;]?3(U:W>/ M)8H!"/D0S" (L(GJP\"'OVT&.6O%]C#10[+[ !!\:W#RG33:3JW!B,&-%G!\ MM@S$*!Q)P'60L0$G$$RRQFT\@-+;K(8/ D![=7,P0-T^09D'^*Y:XS*@0?/( MI':9U*8FS9&:YT1Z&G'0M8Q97PLGF-$:YQ#=%)0U6C>MRV':RLN^R[>F#166 MZ_SCS9G=Z73Z_>[HK--J=4\FSLB%;;&8\:;:>.6D<4RM-]\_/P M=/^;.MA:3+.I*V\-U_RV7:O6+-AQ+PWVNF80"<75L[Z)["0]4J?% M0Z=DA*=.#C\?6S,/'+)ZM?.W'$J+L7T\/W\S6"/5A*=&.=SG.J0)"+#@>P(" MOJG ^'="S)M2! +IQRRI6-),4:"2(&BJ':I:$8 6E=A?) M'\7/-\@AH7.B%YJ0"Y#[<] 4R72$P@=S!T2)R00@";Z0&188!?@/_&OB T3S MRU>L%S>_MDL16:U^CP:'A2^;@6"O)*=*4@?HAK>AP/4,@>/%+9)\)#Q.GL#O MZXUNM9X]H'W%93LR%O!,&GEXVS%%&U?4KM9 ,D\#"SX#3J,9XUBS %,S)$(J MUC:>=X_P^BKAS2]WWCG%M<^SFUX+"%E>X ,.C2LZ+M7MI MT?)L\Y,#S6(5- MKF9 SIKZ/$?&0HTZV MBM)A(%/\ ,2"BLJ+E5F05VZD$D8FU6 UB+XO*$+'OC GO3+0!M+EX&6VH=J M((G@U2 BVWT);K->[3?+2W 7/4#CR=DS7(&7[4"C6FN7&_#B&W!W64FOO(*P MD!O3K7;6J;'*K;FE)FVMJJSGQ%^ZNWA>Z:?5V;;_I5%G!G9G]:NMY&6?E=V(.?1OCM=)Z MMR?YK_<8W5O9#:LERY0L4[+,2EFFT:S6-HQE\([:Y6SS^/MXE94NV@7%]R?* M)RK>/0IX.7;E\<+:H"$M[$=OQ"'A8*"S8>#H6?)7 []4M M^JZ:ELT0XDZEV5GIA6WK#OT7Q)R5$E&$S2\0ZBL26=8(\5Z;4-Q5*[09,K'< M2FQA)+!>1@*W-MBQLKN^MS?BT:S4>XTRWE%*2"DA94QP_3)2R)C@RH1D:P.# MRZW(1@<&]X)+?Q7@\%4BP5>WZ.(%0NXKNN](=M^7P8]2#K92#@H$^8I$EC(@ M^(H#@D^U#=L6!B2LMX(T<+$6688YUF\)BT")52@"2@>L'"1N&'5* 2H%J+CH MLN"4*@.*Z\>@12#$,UJCS8\WKN!8RFOC[ +$65:=1-M(F:3:X#*,6++W1K%W M@?!;D#6/?$R.YB5YW#!D>[=-\[7J9N-/.8[^X; M"C_RN ]OOF>:T9Z01^,.>-CV9ISX=%,[]A9)PE#Z]K7U;C\)@^@]-Y?@[B*Z MYUKV&[IE7]W$_IX; 2R;"S9+"]-V\7TO(" M[&O"+3RP(ZND>_>Q6\_E!'O?S&8><"[L6Y46$TK5H37B]Z9WS_L.-8)P'1=[ MO"ZE!XA^,(4O5 -;+[ S2F [,Z 4:-J?:$+[ZDE9(!MGJW 5WT1U=M5QT.U MVE!U<:,6 ;3&=_C<>]WH#EDE;8JP_!K^=)KX.RE"[.)0H&:=JC,-JLU&[>.Q M&_VP/@MJ7D@?U3]:D;0U"R]TJR.&3MO=Y3OE$5FI4XUBP+%[!3^:A:XMLYZ! MECO&-@,)M<7AS^ /[ H-STIL/7G!31QT'\9<+\XH >;BGU,[A"B9X;3@(]C[ M:!9P3YMT8'HW=E%PL!_$V,7!J*T$]:2F$;C%I"VPEW!N0M0B(DRP:<,L#$AZ M'>EAH2-D7&2>MK@TLD07@'3 M#;#WA,2&07R-4OHRIBF,[L$.8(MO:OR#W3TK5B@NTTXU\$^4^L!GO13FWL\* M3+@>]6;%UAE&U^5@1%U>8 +<^9.U G9?EDYQQ..W!7T]WVN)>8H:L6!'T,#A M'JA9WXLHEA*;S@=.0OMO![,9-A('EL#>U=SM=9Q(K\IF?N!A/XSS"=F*&#O= MT'M!#)&,8S><6G\EW ]%=Y9'MO=BR3&-7*FIH!J9;=U7Q;^EBY2126SO2 SL\F(^-;"2S ML7]MJ%*6%NK?:A!!J1KNPP/L:+NS>97 XV:+Q"[A\B;NIK:MKL--R6-B+/A4 M/^PP8:]9_B^HT;I'74TNN4<;]D31_6MC.8NX=RKL,W?Z)4I5K<\H%E<"FT>G M3TX"T#)J&XU&7JE8Z<;JKN]@)QN7U6/667 IT[==+PR?SGL*G'&.35ZR/J-(&^:)$;)(8&>=L>C% MR#G*'&3*0?6N-A;$+)QKI"RI"?=LPOL(=D*K,$8J\(^Q&VN5HONZ<[ON/X-1 M!/S)C>"CA-IG.]@#'LWO.$'AT/V#T^; UKD7C!!8)*'J#.0'_@ZPL^NH]D&Y M&>T)F#3IGS.BX:9IGKJLSI M,S8$F0HW (UJ2Y](92+@N9!MQ BO20.P"$H[2MU#A 8R]'5G4$)_YJJPL6B( MDR&HH1I$LA56S4<-H$>!H>Y'''2,FHRL(]EYR3T=?=C9RR#\H7PU'$XX8$LB MB;W:"<>J=E\S^!,FY0%(]4@CJT;AD6I+MS!1@_QF-S^$)BXX"FB\JV;+TOI8 MCFK]4?O,[K2[9RW9'9^-:J)^UJK5V^-1KS?J=R6J@6=O6;K(F/=L6=JJ6KN' M!Z?'AU]/J%WIT?'A[OX>=B@M4C_26Q>SCRWVTK %.G7@\R:A0@V!QXX*6GJ M.F >J[@R"P4W$ZU*)D,S$2J@9K90G[@2W.$K +5DKX/Q&/!&R+B OLLTG",<9ZN]?<3-!:\"M!>O]9LMZ9WC5Y@^45_W^_;*.?%7K6Z:< MTFB+\DP1']^PIHKJ_(Z-^2;!)6E&[.$.O""YP26K5.F VR'\M*-JX,/+$>H& M/CFMV%HPU)T94RYJDL#D&@EM548-3= *C0)7[3NH2NTNGC(VV0F_5TEWB?K;HQD]Y^6HBK+0)_N[64?/%"_G)YSK\KW+G57I&62@?"1-1P&)O=#N 5U^^)BA M)M!H'2*#)K_5/JAYZA--!#J'6H.2S(O=%EE;W9 M_.@W#GZGDK8RY6QE2MED[_>F)SF+Q_TK %L%OE_5GSEJT:T9-T0\* #C0 M'!168GAM>>X/9 S#:T\?J#QLM3D(5.L)8=OM_EF_VV\!\&G4S_HU0$2]9E.T M6L+N-$?C(D*@H\'Q*>_0I((WF=_-/;\A!U:N6]77_R^ K@[K]O>'! MET*ANKN[S.OH$[+Y3*KHN"?!4CT3H3;3D^@\%EO][O]$6C7421>C+##H!CCX%8M8EEB.+J"FSH5 !^N=IEF8!T^024KE];\I&WV[7ZV?U[FATUH+_ MPK[7[+-:LUD;-WOC5K]=<&_R@&W_?G"\_V5XI6C / 6NZ* 4XD),+(KDG@2 M$#PU71',E*!FLY(9_OVVWFBG/>(S;):$-D:5":1/1"BC+/,PG6(T.@[L'VGB M%\;3[>LI3Q)2>B;K9@X:T?_!?=!A.7&B>KO/0O<".-J[WO'E>1!S:,G,;1.J MX$59>DI1SG,\P*K47US%H061?,W%II+J9.Z=221 M*4B7AB-H2T&JUE63S#+URD 0< ;<2YX;06"5-?>S2H 0I!'S!*BIP7]1\3S* MLP"\ 6>#')@T2 )4$8$]JPZ89Z?.W@.L(DJ$GY9++*4*&3>V'XC;M=." MYD[MXSBA7!-]75G""0O[KP%D*,A*C3QA_PB2-+F"7@YFOQ;Y@))T:5K8X H+ MV!2CA1RG4V9M)"?"&^=6"<+L2%"&4P+ ,Q&**?Y3F;5-3S*T:F62X94F&8"A MT]G4J^V7JCJ[!W1>&I.@Y/J$';],0ZML.5H""8 :IC&)EOJ4XP!U3?2!Z$8U M:BF+O)V6F7GUT+N3(O,3;DU!=R:4F@*NS.U MLL5X,7>F7NV66U/,K2G565%WIE_MWGITJMR:4FC*G2EW9D-V!M19Z=(\Y]8\ MY(J(.T,R:Z3!(WK8/X^R>.D@=T&H8>JA1KS:?EY-6WK1^,)N%P14=5;?VZ&:%Q[>M+['> M*Y"2$NN5W//R,G5[PJ5P5%D3\]R5_2CI5 K9&F'PRL'+:1 +SSI(IB,96L$X MCUQ*]BAQ;L8J_Q9>0F6S)UQ ?8H'/;Z):^L/&9>(MY27$O&6QKB@VK:,;I:< M]*I@G3+11ZJ"G6X]/!(A'14J,5Z)\6[BFT_2X)GTF'V)[DI)V4!T5SK+A6"/ M38!OJT\*P1+%.6A3NGUS)L.264J$EKL]A:XQ]*[Q-H, K_=S2@XI<=F-W.() MGVXV/@J#\U!,HX="LCMIPD!-G5)5!9CUV95%MZY8^CSV2]/L 12B(_J;(D./ M81"^(&3QOZO#8D7;_15XP-F=$25OK R(;1V?6$?"+?GC2=AKFWCB#FO["EEC M9:!KF]CD'5?[T667IY,@B83O1.^?'"PK0G?4'!$PQUNW=M);3E8F"85;Z1J: MS2GD50!*K+@]8;/2;S96'40M IW6S3%4R5 M*_!7!$J4ZG,S.*:8A%B)^N1CVT58VZJ%H5%I=UO+6\%N4B;ZGXDO&4K75@RE M7YT8K[\V(4+==*9N(E,ONO/;$.NEZZS+8.]+!WO7F!9Y$8EIURNM?G_KO?@R&EQ& M@^]C/WK5WLH![/V\A:U-4/].D&!SGFW1_]UNI;[Z=.'K4_;KCR.O8=7%BSJ_VB#; M\U;EEHIO(YC@=;+^>MS%@D6CGT('@K<_4=/!3;D7_\7[0/86^D!^UY<<+&\R MRVUVJ5MPKM,CMY/=#:8S;'6.W8FS?I&.U:BTV\U*H]TRF@V[<91O-ANYV!#W M(+B0=)X<1JU;[RXGTH>?6B-Y#B^/L47V#VE%B3TQ&U*^MZC'NB74*>,9G3*& ME[QM=JO-!IXWYC=7GY/,*V:&M(=WO]EWNLY9K>NTSEI]NW;6DU+"7^UZKV:+ M1J/9A=<]8P_OA[01O6=;[V;5XC_V]C\/OG\]/;&^'QT>6"?[!\/#8Z,[]W-W MXEZRCG:+%G(0^-+%,^[ M#4^E^>-:J;>JEO5M>+!OG0P^[Y_^8>T-3W:_'IY\/U[OYL36(&W*;6Y3K3]N M]UMV_:Q3MQMGK5:[?S;JUN79N-MH=.Q.L]:N];=QF]JP38>GO^P?6\.#SX?' MWP:GP\.#8O2Q5WOV=_<*X(9_D$QA<-NB9KY7\;$<_^/-7L+=T<_:9_4SM"9G MI\%9]ZRI_N$(+_[]CUKM>/^P=G'1_#:M=08G_WIC<%/Q9> M)-]8OIC"8J7M?,!6ZMA)O3X(PX$3S&+I?/;$^1OBE@,1AF?GOY_O!9_^\^>? M/QI_-6>__=K=_=3[Y[^ Q_[^4V[&:UH Z*&[U_"E_NGWW^O_^:6YGWSYG]\3J+=3GM_YX]^%!X>A4>]7V +Y,(2#&W5[W5[M;H$B][N MC;U4WH8'X_;NE36%&GNX[UJC6UMGH>;6JON=YF?8_>U8?D?)ASYU+%5503:TX6W_](\O[5 M!%RMF'7505 UE-;=\9(',?K+14,?=6O! NMN]+:>NK'WA%L8[U+)+[&^'&4\^FF_^G[^2(/YXY_OY9Q_?6),0 MP:@XO]I!V%GK-NM7\JI9=^K523Q=%A9ZX KQ28"3 %J]W*7(ZJ,W/^\BY<= M>[0/& /;G;AR;.U?23M!2V(=CN%;&5:L61)&B?!C#*LAON7=K#?%3KWUSG[/ M_TRR>" ,$(+5@5GN7]D3X9]+:V#3%;KU?K-536-78HO$LE&*Y5:+96/-8OG9 M]85ON\(KQ?+^8MDHK>56BV6CZ-:RWK.^5T^JNU64/GQ2RVB[5K7^=RLEKC2$ MVRUQ!3>$KT#B[LVLI9@]T[PWC6.4CK;JM?J'%RMLR!D&>'-U>'!2,FVQZ\)> M8EZ_?SK^:@W]*!98QK,7V,E4@N[&V=3K'\E5 K ]$0NP#IZT1M(6222I%HOSR,(B):P8@M4[UJ4;3](Q M<+[\0_V^JK7QPI[)W!'TROP4^(I1\AD#FQ)W(JJEO$ M7[N#KR5_%8:_=H5G)QZ#YJ^N_V,D(KE-W/9U\*GDMC5SVUMA/EGNO)I^L$T_GN&/7>/'#OYXC#]^:;?XAD-31L'9XTF' ME46Z!%-5&]$G\$^#FG*ZI.8M7\MFS":[HP$K1(/P@ZY92FOMKI8,1R5RU0Z\ M*KW3H*8+H;!"5Z9;:F&5J%6S:O,U=/>K455#UKAR]#8FQ@)ZXN0;S^3U7IB? M,D]-UH@HV??0>/@GD>R=<( MA1'L!6P7?(>R1Z?;9JHU-$@-'60+PAMEY)F6FZM0)B8@7G%]4)?QAQWZY,D: M5E6AMUJBYLAF^ZS=Z(FSEJS7SOH-1Y[5VXW:J#^2O7:C^6(GS!:ZSLS7I9OK M7&2*^]H6DF9#H]@>Z%D\(3N9X[0FCII71"]-A$;+N/V$J="J&\N@__[W?]U+ M01KK5.]ND((YESMGU#("K$L*ZXWE8KA0 MH?MHN2S"RF[MCC?\ X8Q@;O %FMD8[2P8U;$UNJ:!J#R-?T C MAS+QX2D:$+#5) AAY4YUF\_]M/K5_HVW*5BU:B^GT M[8.0^*ZW6.Z]CH>VM MV-*'Q#X>R,5K"E?=W8XQ6U$;/-+>C2NJ5[O]EU_2K39G:AI=8SZ?K#X\^.J?T_V./SJUGP7]W MBV&>V<4P*<5Z;SC/L36,]Y3,VH8CK257K)G&[<%W!6XN$Y0@[76 MM&/7GHB0[.>>A&F4**UHG+L=)G21STH>V^Q%%(_'3J3O!J'U;[RI-85LE1M/ M Y8LN.F+N"<+4FG#"RWC-)0B2D+ 3>0J!.$L"$5,R;)0QB*<5WS/7/3QM 1L M>K]PT;*OA3R^UNC=L\;D'I5(KZ7HI+'2HA,S7ZO*/7(9V_QG:8G'8JW*1> Z M-Y2J9.FO4>!#$P<3 P,2YJ<&>=E5=4T]NVQO\! H066H"@@)N. MM$V3(D6#=$$0Z4@4$*1FTR0@310I4J1%09 B38J@2.]%(B!@"!HZ"6PI4DQ M(-)R\(Q37N[#O?=;IH8DA *(# -#I F@S@#Y M3T?W.T[%WT- ]*=G&, 0,!C"R\[*SOM_%JT;X&(&+@$Q]"!1@(X+ M1,\%HO4#(J<^P:!_"OB70'2G'AF9F"$LK*<-#9P '8B>GHZ!_K?KTVKD:1U@ MX )S_Z%TF9''ZC:3: "O\H/T(F8QQ-L>V'4<65S%-3 6PL+'+P 7E)"4DI8Y MKZIV05U#4TO_BH&AD;&)J?4-&UL[>P='-_<['IYWO;R#@D/NA:+#PA\^BGL< MGY"8E)&9E8UY]CPGM_A526E9><7KRG?U[QL:FYI;6GO[^C\,8#\.#HWC)[Y\ M)4Q.39,6E_[^MKRRNO:=LKWSMF&X'\(@J/V#F1:07O>V!B*E<)\-< W$L?.*J) G* M;[1_DOWOP&+_7V3_ ?LOUS3 1@\ZO3QZ+D /.#8O3I(&?F=AKFQWM.\U(>?5 M$[HG/0S'*MX57JO5K"]7$031 K=+/2',AS7M[ 5 _5&)AR MH(KZ3O B3:K1;*J3;F3='-0BO+SM\(P//X=YGB]HUE*&\?J?ER[&9FB(LU". MK?>2*7:I&[?;\-JA%7^$SNE4\]1D]2CMV]R09C@;3OE,&!6FH^*\2E9-B- $ M7>%<^,^/F)&$1UI:4I 6C7,QC/! *(-K&[LPE -BBX0Z.P_#O_GYR^<:",_& M1%O;WS\_GIN"MN!0]E=.6GFT-+ZWK7M_'28[M-FP]G87U5>0@M,O,WW6J=U> MWYFD."?Y.GQ*3B=BHRK*HQ7%>#)](%'6P9>R9#:B.P_),^)H\U3^!4KLYBE; MJHMNA" M7^52%)F\IO=JRF[*(5F#V1T8C-2U'KUFU)L&'JL1N_C?KZG:O=AL M]7P0*DKG/G8!NML%]B8HAMPGF8CR!9GW=22WM3?TK'"]TTJF M 9#+TYW#M<(-,I85:\-%J_B*2@,3,*^5?>[I=ND_&1%$ \#L9,.V&@.B'C?: M.X"QHWCXGMS1PJZ*2B7_@\.(U;3364%-CH>"+7I)2([J*!GJ>1K01Z@?=O>D M,[N_"BA/6Y0K?5N'>C'G^';0H<]_;@OD(\V() M%:?MI+B'3#TZ$U*VWM@EGC[H+ZY4L'=&5C3-_^5RD^J%SQXY>J2S3RR3,[>W M_"KU?KSS*:(V[M, UJ,KG7!J#[%TAQ[VEL*>75=P;8(W&)U3AVL*$C9!ED%Z MQTO(FWCH!JM/Q>!AL3(E[4O562'^>)QE#53:+%=$87@X..*;]!#[@,GL'HKE M2)V"3%"].)QBC6UR$<*Y);Q/=QR]?.>GXK;TL<\*--&]YW1*FKM<&,B^ M\>:.^+[N[:637P+[M8%D[ 8-J(I Q#KE.]D)1CZ2=E=ZYO/ZA1# L(%\F6)D3);M>[GG&]:]%?+%NQF#J=E&Q6NXRZK[:)- IMD%&R6 MM\8,K?QDQ:II0.P-M.MQ>RA%MC^(VW=\%&\AQP@K\Q)&,!U6OCHY%&XXT',) M(4.)C9ED?E)'?-S[\D/]*K4/NSL*7]M:(E!/4_MB@(W*5PWA\F$"K4,=7C>< MA/-9HH9RG[!(%[>P]R9)%P(4I*X^I71LTT\J+@5W@LWH7DN$HS(WD[07)]GC@>D&_Q"7-E 2:@?]Y7_N7XK5&!SB1FRJ_$]#E_2XG0_JX] M]A8:@#-'GC_!JC=IH1ZX<]#+M_WY4<=(X WDQE^5^!D, M#4C,6UZRDEUSVTB2_7O.;VC$0^^-YA29K M3$F%CI.0#)8'Z4I(>Q1\@HXQ\K02'NWEN.X45>@YEFO%,&_W>[U M]V=:?D.JM@<-_1?O&2/T,#!>S+=KUMW:=E_P:WSJUF'U4T[FBB+M&3"/I7+Q M>Z\LQ^5"+&,/!N;)DJ:L"1CSEO7DATG+<9*5IB4-'36KR=_,7N0>7TN)]JA- MU@I-Z7);X*3>B[28:NABZU%[A!GY<\>\Y=9G796,-J=;NA4&]_DW[@>QG7X; MW^(D4OXVO[X>+DMG)^XFUNA#.$>.>N@G:\817]8GIC!.F1HH25Z!TY=YSS5F M>Y6'U=[Q]/.2>[A\M_C&7.J+.N5PW/4,C,0BW]>&SE!)U3R/DODA[*?PX)?P MAHGV2%0QFF!.OI=3*9?K^W3=6*C[UT-SZ&B,XBA)GV\?"_N,MB#T1M?_Z#Y# M(B]9O:%1"TNM*"N/LDW=!V8_#_PI;[&QL(0^DA)4* M*2P9ORVX*B4Y9.9^%S(:5)?2$5EI]_GGE%B2.GY34..I@>!SSD>7<9>P0#A+ M:[.#34^U"J;59PVUK8H1&N)0WZ2*L$7-A-=D139Q!LMQULX#Q)CYYHT@ ME_PPDCF/E1_!\4)!X QBV<=^EL@&^K@JFT+A[UUM]Z+(]DWO%;EY>;F1AC,C M?=T,U/F;7!Q2A";9J@.J&OG%,3T:+"IK%A;.Z:NUT7K;$S,9 =F+^YX&%-$] M5L7X>?&,Q;M$_7)GA34!Z<&4F+/[:MO(C9V!6-,7CM^RW?FA]NVUNW4A>U5]PK!#P)C!6U<<%7FG<(AOBO?J41/3[" M&\*O-$;9 T9/]E5"D#@!-!([?J M$HFZI5(S2/V"[TVQ#R/E#UZ:$16GG_6Z*#?B@F<&5X,S%D,2YH=&WE6FU3XS@2 M_BLZIFX'JI(X(<" PU#%2Z:.JWEAF4SM[4?95F(=CN65Y(3LK]^G)2=Q@,S M+0Q01Q5)++6D?GVZ6\GA/YK-?I[R/!8)^]?@TT>6J+@#,3V#W M#AMHGAMII-,29'V)QX[7GY0\RQ M^7]WS^LA6CEQ*IQLDGQS3X=+K_;VFL',Z^(\=Y M@YWQB02\M-AOW!J5-U@L-*UB-N4V?"[&.JU?WG3VVKW;K^DQZ[2;OS(U9,=ZQ"';>1ZWV*9-!2,WVF[W M+L5(&@L,LVZ@T]MB0Z4941200B5,Y E.^7>)O;N=!B/4[#V75K;7:N6$&P?M M;#QC5[F:9@(YH.&5H[U*$@7&<:&/,:09FH,H+#*T]TBR$4LC.%Z1B1C?B6<_A9[&HPE8 9'9A0G= 81Q%(C MG8$,"<<2V<9J$I&67"X8N .:-,FI3(B6R,@*2@I.=$FCA3IL0Z"E6M,J_B M0BM4@A@V;!,:301,Y-76OT;ME*/H.T847)89*#I=WNSL;HHMM[2SF_@G_R@I MO>7>M+0_HU"I6=Q;@'BY]T'#E8.&6TLT)L!T8_MDF#<#+FI;G_$@*L2$"_U4D> E6IL0'"@ZH?"CI0 MB=SM0REY&:[UD/=E)@Q68>!2Z8T*#FA2(G3!BU&93%PO8,K(R$1R+4D Z9': M@5!..Y6&T-/YMW%0ZT(4)3P80E'N%A7(O#(N,T[( K$<$TL4Q@J/Z?54A$^1 M($($/]:+Y(F#_0$.$=W3(>X=0K?\XO[!=V_W@$NAB".8X2CA.*$,-_ 8RJP8 M''&=S,T"1Y'*[>U2\5PE=O$WZ!M_ M6Z:?8.+U%MU]Y*+,]9#)W!D:2[^F**L;9.GB%" /0/U;B7C!&D %BUA DX)U*@KFOB3]*"?:=7Y5Y[(KU MK==0>QVC*Z&D)V$RJANI HVE@(XKD%S40%/!KPCU?-)QN.?2I6M:YQW*@RQ7 ME2N^:K\CLGB"A48L FNME:LDBR4P%7)APT.O0UFX MNKXX.@9\#C4(<$4IG8JJ+:<1<;+NTZ/]C;N+6_O):]<<%=.X=42?W]_"9V M_MR<:EZ$$6+EJCF%^GYX:;Z8YQ$:D=**'MW0+'? ()3F;A@[@E M!ZN@,%+6JG'8:1&'[N* O6F[O^<4Z%"N[.D^A])"CABS@0FJ:G_UNXW#0!XM M]?!('MAIO3MX]0KE&6] MLSV1,!<:?0G5V*[D/TVE&++^M8A+2JKLBV].7Z?//28XO1P6?[J';%[X2U#T M*;<<8^N&9P2N:YD75"\E]FHU7KIH52(>7XVT*O.$VBJEPWGY4/OQS.I$5:>B M[>QE,A?-ZKF]TF+Y'^BL]%@K0XM? Q7H,IN^HN5#]%$AGRB95$;>WV]M[RQJ M'3_6=O6J_Y61^]G2T5]02P,$% @ T8,F5UWNR6^Z" OB4 !< !A M9W@M,C R,S W,S%X97@S,60R+FAT;>U:;6_;.!+^*]P4NTT V_)+DTWE-$#J MI-@<^K:)>W?[D9)HBQ=9U)*47=^OWV=(V9;M>)O@DB8%+D!LBQR2\_K,#.V3 MGYK-BSSE>2P2]MOPPWN6J+BH,@.!^>^PGLWF%#S7,CK50YSX+@XN,> MVTNM+<(@F,UFK5FOI?0X&%X%J9UDKX),*2-:B4WV3D]H!*^")ZV MCY4!IC=HOC9G,K%IV&FW?^X7/$ED/FYF8F3#P];Q\6I(RW&Z'%->M%"+C%LY M%;1W;=7#<__?O]Q1_L;#!DUQ>#X>6G MCZS7[N[S S:XN!I>OKLLE2/A5,BZD4,^"93:5AOY=)O7N=!B/8[#^55KH[M?*6&X?M;#)G-[F:90))H.&5H[U* M$@7&<9&/,:09FH"I+#*TVT1 MY"(6QG ])Y()OQ%.?\L]#<82,(,C,PH4.H,(8JF1ST"&#&? 22(TFZ7P1V9* M>EFMGPDMJDU(@(DT0%Z":Y\!M3"%B!V#-UZ][>=8".9 M0SNDZ)4V&C FKLO(<"*!/1;G>0A4)4:&R \J/RAH .5R-T^E))7X5H/>5]GPF 5 M!JZ4WJC@@"8E0A>\&)7)Q#4#IHR,3"37D@20'JD=".6T4VD(/9U_&P>U+D11 MPX,A5.5N48',*^,RXX0L$,LQL4)AK/"87D]%^!0)(D3P8[U('CG8[^$0T1T= MXLXAM.47=P^^.[L'7&HJ$X(9;M")$!R]%CDR!<9? 0SHB#G M(Q+4']X/X*2R )X\'T^(=WK"Q91GI8L?4I,8C9 TT>/E*(*VD]\R3=P!#_SC M[?G0&1X+$J+^5B)>L<21CJ[19 JT;P)83=%E6B+_!D$A1KX[Y M1((_M\D^O Q:P@2\$XEP<+7Q)^E!/O.K\H\=L7ZP8]0>YVA*Z&D)V$RJANI M HVE@(XKD%S60#/!;PCU?-)QN.?2I6M:%QW*O2Q7E2N^:K\ELGB"A48L VNG ME:LDBR4P%7)APT.O0UZXNKLX.@-\CC0\M*JQ8"_ M4'8C:]?.I-'U2V<:J=TA[S%GIS=[_CJ2+L3U@L_J_(Z_C;3)8GQ*>(<$4IG8 MJJ+:\57WYYI=%P>'U75F[4Z[MC,ICSKZQ>7KXKDYT[P((T3'37,&A7WSGGPY MSR.T'J45?;JLWQ1W<6U?O=KD3H+U=LG%VJWCU7WS#R[EX>&/+V9@-;GP [CK MPT!A;?^]TW.@5,BNJ3&91,",(W_3ZV#B$5SQ$21X.P_OQ2VY5 5WD;)63<). MBSATEP/L1=O]/:5 )W)M3_!/%TIXF&MU;.=7K.B^K%=+,:6Q/Z6N02]>X_T8NRSQJ]"I$VV""58L3>+2O53[Y; M;; A-2&EKAK7@=*H8.D[N&L1:V&YWG;O'\*/_X]U#\+C_F=_<0J/V?*=@PW/ M"%RGLRC)GDL\UZK$=(G,$8]OQEJ5>4*MF-+AHARI_>)F?6*!Y6 DD[EH5L_M MM;;,_ZIGK2];&UK^A*A 9]KT-3$?H?<*^53)I#+R\7&K^VI9._FQMJMX_4^3 MW&^=3O\"4$L#!!0 ( -&#)E&5X,S)D,2YH=&W56&MSVC@4_2MWT]DVF<$O2"@8EAD"9,I.&]+@3+Z1^[_8AB3+"990$-XX[U[ M"R$/EBG-) 2"$HFM*R9C\'B>DPS>42%8DL"Y8.&" G1-Y]2TS6[;, 9]-#6J MYO#,A:[5MIIVLP5VQ[7;;JL+5^_@^,8;G>C!X]G(^W@U*9U>W9R_G8[@R+"L M#ZV198V]<=F!UAWP!,D*)AG/2&)9D\LC.(JES%W+6JU6YJIEM /V2T4IN8*FA#);JFRO64U2"@1KL]EW-MW\&\S\WI>Q#-I M1"1ER=I]Y;&4%G!)5W#-4Y*]:I0M^%E0P:)7/3VZ8']3-(WI27HG#9*P!1I7 ML?;*_%WL@_J_U2YQ\'<\KJC.S>=)B)V3NYCY#,FPG,A]?GP\O)W)C]\7;R$88C3_4T;;MY MN"3^7!:21>NO9#'-(.!91@-U()4E0\84WB^)P/23-5S3G L)/(*A6)"L =,L M,!M 8(R'UXH(BO,%#B':P+&:K'9AT^Z->(JE9ZU_.;V3!A87N. B!<'@B("0+87*'=2'# M@H:^4E84*@1\J9$AUC.(J: 8^79493[W04T;,":W#(NH"1^(+#BF>"5HP4)5 M2Y634#U+TJ=S,B?!)1@MC=I?0-0P#O2:*/@WL)WJ:&N?30O>D M:_B4\16BMZ#N8=FEFUBF '.=3O[9B;Y%-\=\^<)IV[TOO7N80<6X:)D@&0)$ M-U'+O:& H'\MF:!*ZA0JT7M C\D)(*N# M3O,!=*89[IJTW&FX:R5A&1*'E82O82-,;=L<*:P0:JAN@LH/IV'$)$'\BAPA M*QIZ5L0RU)"J'0V&6I9HTN.H95("S'&+:I_%'N5-#9Q64Y+X":T1]+D(J3 " MGB0D+ZA;?]D&2Q7XN#PRE3I2V6"XO>TB3Y:2UPVE\-(M._),X;8KSE3+EM8Z M KT:*,?T>:Z$HZCCK/P[Y7$NP[K]5NW@@"350J)VK"R>H<&MBE4YKJO7EO;; MLLS16I3P52U2ZM_&2I#<]5%W?S)6"-B#>G+33_R")TM)>TK4[J=;R]OJ78;? ME%CK2WF!;7;N==DSS_+T]?-/TY)"4?@1Z/HX!]Z.@!OC&>/BD8OU+/6Q0K;+ M0JZ/B0-0\0 9G*_=[XI64:HZ[O"F)WGJ.J:*$!<5)<4+6__]S(3Z;,>F_NXR MB7D$V&L55EE9]B10WV*#>QP>AW/@F*^[!\^W3.<9,>X_!/R5<^R'8/P969XC M47:>+7SCLX3_S:AGF,N7R7:@9+[I\O4\.?>8A]/3"?&',^3X2C"\L^1X:?F, M&"=[S+#TS:264$]E[VVINGAS'?%)\&DA^#(+U=6)"[>6#UM/DG<[*F6*%\A> M@E=!H_IM[URCRJ?5._>HG:;-H_&<+*A1:E@2X5W));>59;7/:.!#^*WOIM$UF_ H)!4.9(81,N6E# M&IR[ZT?9EK&NQO+)(H3[];>2;0*D;=J[T*9SF827U4K[HD>[CYS>+Z8YRA*2 MA32"-_Z[MQ#Q<#&GF8104")1NF0R 9_G.>="Q6W;#:33!:7M.RVMVX/(='%[[PR.M?#89^A\N1Z71R^O3 MM^,A')BV_7MS:-MG_EDY@*N[X N2%4PRGI'4MD<7!W"02)E[MKU<+JUET^)B M9OM7=B+GZ;&=P&"KE*Z>N#.1$SEIF2YU[3R6479]HXO*-S:RY9)!//=9SG MW9Q$$\>-9N.,UNSU83]^1TB&>,B@VO'\KE M<'3EC\_'PX$_GES@B;F:7@\N?/ G^TOL-_OHMN':FEI#"Z:CH?;3;9XXQA/R M<#"%P=GDTA^=_: 4:F"ZC?+#0][66>PX+9B<@_]F!-/!U>G@8C0U)W^\'7V MP=!7(PW'V>,!^W-12!:OOA#%.(.09QD-54$J6X9,*+Q?$('AIRNXHCD7$G@, M S$CF0'C++0,('"&Q6M)!,7Y E6(7N!035:GL.%TAWR.K6>EO[G=(P.;"YQS M,0?7,=]#S(6VE&,,/ *:1=A^?EV@Q:9K@.H_:*2 F*5U*U/:4QHN!!9/3 C) M(AC=8E_(L*&AK3DK"N4"_BK-"/L9)%10]'S3JS*>.Z?&!EPQU5VPC5H8%*;< M0#,90_]^8R&%2T$+%JG&JBP.$T9C.&<9=EY&4IC$,2H)E1]EI(K9T):#%>"0 MV@ #\H4H%@07D1PV#EN5=WW85+@DXKGJPYOJM9+"4F5F2D1 ,EJ8D]N4KF 0 MZ@U26#)PG.AI2B^@A1Z9K^!CQI>8RAGU]@LU+6*92ICGMO-[Y7T#>Z[UXIG; M_4Q@@I^\2)%9(28W53M_1H/@OZU8((JWE.H0.\2>DB. +?0/3F,CM9I MNT//&CE5[MQ.\[BK=OC)9*?Q0';&&1ZA>7GL\ A+PC($#BO17Z>-,'6&5MFZDIR0;Q.@"]&\C-='%7+%+4?E;VW;*VRZB6WZ@3')*TVD@DDM6* MQXWGF^VK,ESNI-6^(S,[M'###L>UXY0O:_Y2?S>7@N1>@)3\H[G$]#U(-=?C M)"AXNI"TJ_CN;O U\ZU>9?1583;_%U&>G'PNS*<?).["E-5]<-;H.1SS[64B[C'+()G MCO[Y NKV$$./;:VI/WM,HNKL?=/*>'XB ME/T+A[].GSE0X;_C*V?,);O ;LM M>N7DS/G=S,\#'3ETL!#8E?<&K;K/ZMB"H).(^OG\* M'#]FZ7LZ+G[W8G=X*1@")D?$W,/.T0XR;'WSJ2G:4SG/&ZPQ69?F@(0?9X(O MLDA=S;CP:CZR\=AZ>Z NYNA(BE=-L_KN;%W3RD?C6_>T+='Z.7Q.9M0L.3*) M\2[FD1O.HFJ3VVVK<;PF3Z7,T0RX?+ZO_V'0_P=02P$"% ,4 " #0@R97 MH@$3%\<4 #8SP $ @ $ 86=X+3(P,C,P-S,Q+GAS M9%!+ 0(4 Q0 ( -"#)E?V'O3/]1 "_> 4 " ?44 M !A9W@M,C R,S W,S%?8V%L+GAM;%!+ 0(4 Q0 ( -"#)E>I7P#>NBT M /BJ @ 4 " 1PF !A9W@M,C R,S W,S%?9&5F+GAM;%!+ M 0(4 Q0 ( -"#)E?\GIVV!'( &B !@ 4 " 0A4 !A M9W@M,C R,S W,S%?;&%B+GAM;%!+ 0(4 Q0 ( -"#)E?#UQ3/IDL )(^ M!0 4 " 3[& !A9W@M,C R,S W,S%?<')E+GAM;%!+ 0(4 M Q0 ( -&#)E=AC7-:MY," "D<( 4 " 182 0!A9W@M M,C R,S W,S%X,3!Q+FAT;5!+ 0(4 Q0 ( -&#)E?._K1&C0T ",. 7 M " ?^E P!A9W@M,C R,S W,S%X,3!Q,# Q+FIP9U!+ 0(4 M Q0 ( -&#)E=LHWT)A0@ (DE 7 " <&S P!A9W@M M,C R,S W,S%X97@S,60Q+FAT;5!+ 0(4 Q0 ( -&#)E==[LEON@@ +XE M 7 " 7N\ P!A9W@M,C R,S W,S%X97@S,60R+FAT;5!+ M 0(4 Q0 ( -&#)E